Spade

Mini Shell

Directory:~$ /home/lmsyaran/public_html/css/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/public_html/css/com_rsticketspro.tar

css/admin/dashboard.css000064400000004220151165074460011074 0ustar00/*
dashboard about box */
#dashboard-left {
	float: left;
	width: 63%;
	padding-right: 1%;
	overflow: hidden;
}

#dashboard-left h3 {
	margin-top: 1%;
}

#dashboard-right {
	float: left;
	width: 36%;
}
.dashboard-container {
	width: 100%;
	overflow: hidden;
}

.dashboard-container:before,
.dashboard-container:after {
	display: table;
	content: "";
}

.dashboard-container:after {
	clear: both;
}

.dashboard-button {
	min-width: 19%;
	float: left;
	margin: 1% 1% 0 0;
}

.dashboard-button > a {
	display: block;
	width: 100%;
	height: 100%;
}

.dashboard-button:hover {
	background-color: #2d6ca2;
}

.dashboard-button:hover a {
	color: #fff;
	text-decoration: none;
}

.dashboard-info {
	color: #333;
	display:block;
	padding:10px;
	background-color: #f0f0f0;
	border:#d8d8d8 1px solid;
	text-align: center;
}

.dashboard-icon {
	font-size: 3rem;
}

.dashboard-title {
	display: block;
}

.dashboard-info img {
	margin: 0 auto 10px auto;
}

.dashboard-table {
	width: 100%;
	border-top: solid 1px #ddd;
	margin-top: 5px;
}

.dashboard-info td {
	padding: 2px;
}

.correct-code {
	background: #008000;
	color: #fff;
}

.incorrect-code {
	background: #ff0000;
	color: #fff;
}

.missing-code {
	background: #ffa500;
}

.missing-code a,
.incorrect-code a
{
	color: #fff !important;
}

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) {
	.dashboard-button {
		float: none;
		width: 90%;
		margin: 1%;
	}
	#dashboard-left {
		float: none;
		width: 100%;
	}

	#dashboard-right {
		float: none;
		width: 100%;
	}
}

/* Landscape phone to portrait tablet */
@media (max-width: 767px) {
	.dashboard-button {
		float: none;
		width: 90%;
		margin: 1%;
	}
	#dashboard-left {
		float: none;
		width: 100%;
	}

	#dashboard-right {
		float: none;
		width: 100%;
	}
}

/* Landscape phones and down */
@media (max-width: 480px) {
	.dashboard-button {
		float: none;
		width: 90%;
		margin: 1%;
	}
	#dashboard-left {
		float: none;
		width: 100%;
	}

	#dashboard-right {
		float: none;
		width: 100%;
	}
}css/awesomplete.css000064400000003755151165074460010416
0ustar00.awesomplete [hidden] {
    display: none;
}

.awesomplete .visually-hidden {
    position: absolute;
    clip: rect(0, 0, 0, 0);
}

.awesomplete {
    display: inline-block;
    position: relative;
}

.awesomplete > input {
    display: block;
}

.awesomplete > ul {
    position: absolute;
    left: 0;
    z-index: 1;
    min-width: 100%;
    box-sizing: border-box;
    list-style: none;
    padding: 0;
    margin: 0;
    background: #fff;
}

.awesomplete > ul:empty {
    display: none;
}

.awesomplete > ul {
	border-radius: .3em;
	margin: .2em 0 0;
	background: hsla(0,0%,100%,.9);
	background: linear-gradient(to bottom right, white, hsla(0,0%,100%,.8));
	border: 1px solid rgba(0,0,0,.3);
	box-shadow: .05em .2em .6em rgba(0,0,0,.2);
	text-shadow: none;
}

@supports (transform: scale(0)) {
	.awesomplete > ul {
		transition: .3s cubic-bezier(.4,.2,.5,1.4);
		transform-origin: 1.43em -.43em;
	}
	
	.awesomplete > ul[hidden],
	.awesomplete > ul:empty {
		opacity: 0;
		transform: scale(0);
		display: block;
		transition-timing-function: ease;
	}
}

	/* Pointer */
	.awesomplete > ul:before {
		content: "";
		position: absolute;
		top: -.43em;
		left: 1em;
		width: 0; height: 0;
		padding: .4em;
		background: white;
		border: inherit;
		border-right: 0;
		border-bottom: 0;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.awesomplete > ul > li {
		position: relative;
		padding: .2em .5em;
		cursor: pointer;
	}
	
	.awesomplete > ul > li:hover {
		background: hsl(200, 40%, 80%);
		color: black;
	}
	
	.awesomplete > ul > li[aria-selected="true"] {
		background: hsl(205, 40%, 40%);
		color: white;
	}
	
		.awesomplete mark {
			background: hsl(65, 100%, 50%);
		}
		
		.awesomplete li:hover mark {
			background: hsl(68, 100%, 41%);
		}
		
		.awesomplete li[aria-selected="true"] mark {
			background: hsl(86, 100%, 21%);
			color: inherit;
		}
/*# sourceMappingURL=awesomplete.css.map */
css/dashboard.css000064400000005771151165074460010020 0ustar00/* dashboard
about box */
#dashboard-left {
	float: left;
	width: 63%;
	padding-right: 1%;
	overflow: hidden;
}

#dashboard-right {
	float: left;
	width: 36%;
}
.dashboard-container {
    width: 100%;
	overflow: hidden;
}

.dashboard-container:before,
.dashboard-container:after {
	display: table;
	content: "";
}

.dashboard-container:after {
	clear: both;
}

.dashboard-button {
	width: 18%;
	float: left;
	margin: 1%;
	height: 75px;
}

.dashboard-title {
	display: block;
}

.dashboard-info {
	font-size: 12px;
	color: #333;
	display:block;
	padding:10px;
	background: rgb(255,255,255); /* Old browsers */
	background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(246,
246, 246, 1) 47%, rgba(237, 237, 237, 1) 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,
rgba(255, 255, 255, 1)), color-stop(47%, rgba(246, 246, 246, 1)),
color-stop(100%, rgba(237, 237, 237, 1))); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%,
rgba(246, 246, 246, 1) 47%, rgba(237, 237, 237, 1) 100%); /*
Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(246,
246, 246, 1) 47%, rgba(237, 237, 237, 1) 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(246,
246, 246, 1) 47%, rgba(237, 237, 237, 1) 100%); /* IE10+ */
	background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%,
rgba(246, 246, 246, 1) 47%, rgba(237, 237, 237, 1) 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient(
startColorstr='#ffffff', endColorstr='#ededed',
GradientType=0 ); /* IE6-9 */
	border:#d8d8d8 1px solid;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-moz-box-shadow: 0 0 4px rgba(000, 000, 000, 0.1) inset;
	-webkit-box-shadow:0 0 4px rgba(000, 000, 000, 0.1) inset;
	box-shadow: 0 0 3px rgba(000, 000, 000, 0.1) inset;
	
	text-align: center;
}

.dashboard-info img {
	margin: 0 auto;
}

.dashboard-table {
	width: 100%;
	border-top: solid 1px #ddd;
	margin-top: 5px;
}

.dashboard-info td {
	padding: 2px;
}

.correct-code {
	background: green;
	color: white;
}

.incorrect-code {
	background: red;
	color: white;
}

.missing-code {
	background: orange;
}

.missing-code a {
	color: white !important;
}

/* Portrait tablet to landscape and desktop */
@media (min-width: 768px) and (max-width: 979px) {
	#dashboard-left {
		float: none;
		width: 100%;
	}

	#dashboard-right {
		float: none;
		width: 100%;
	}
}
 
/* Landscape phone to portrait tablet */
@media (max-width: 767px) {
	#dashboard-left {
		float: none;
		width: 100%;
	}

	#dashboard-right {
		float: none;
		width: 100%;
	}
}
 
/* Landscape phones and down */
@media (max-width: 480px) {
	.dashboard-button {
		float: none;
		width: 90%;
		margin: 1%;
	}
	#dashboard-left {
		float: none;
		width: 100%;
	}

	#dashboard-right {
		float: none;
		width: 100%;
	}
}css/font/rsticketsproicon.eot000064400000026224151165074460012437
0ustar00�,�+�LP�./ rsticketsproiconRegularVersion 1.0
rsticketsproicon�pGSUB �%z�TOS/2>!S�PVcmap��
N��cvt
fpgmb.�z$gaspglyf�>��X�headEu\�6hhea��$hmtxRg��4Xloca71��.maxp�;�
name&�z��-post&+O�prep~�;�+0�
0>DFLTlatnliga��z��z��1PfEd����R�jZT�,��,
�r����������������������,,,,,	

������������������	�	�	
�
�
����
�
�
����������������������
�j�S,048<@I�@�AL�g$g)#g("

g
'!
g& 		g%gW_O==995511-- 
=@=@?>9<9<;:585876141432-0-0/. ,
,+*&%"!
*+3#!#53%53'53'53'53'53'5354635!%5!%5!%5!%5!>&�C���6T6���a��a��a��a��a���@��@�x�yyy
 y 
`^a)<:)8)^��!!y!!y!!y""y""����@��v+373!�D�D�4�ZZ�5��0G-@*;3&L���v&))+=4?&'47672#"54?.7462!.6'672#54/&�B#%5
1H
r0r��9%.\�ZN=�#���D.#1)#A�v2nj�P'\8/)}p7=��
FV3LllLi5F
�%Yj}+)>R1P
�
�95�j�R$@�v$$+5467>'4&'&'&'&>2tecL6
(^~^(
4Jdٖ�D%#L?V#d4)8@((@8)4d#V@J$P1��� 
6@3���v
	
	
	+2#432#432#543��(��(��(
��R2����&2����2����6�%@"
L	JI�v+?%7&767'67>'�t��Xtvd�dHX�Xtv`�bHXVr�t��VzPxdfHX��Vz��xbhHX�\t����#$@!��Y_O93+&763!2"/&6#!"&5427
N&��:��D"��"�8J `b

b`^
��  p
�

���'0X����@�EVUSQLJIhedc_^TPOKig]%�m$"~}{ytq#L`jKBA@?=<;8765	J|xwsrI		���~~iY_O����on[ZGF32/.+*
+=767'76?37'#'&''7&'7>.%767'76?7#''5&''7&'7367'76?7#''5&''7&'7>&'#">&'#"^<DJa
JD<^^<DJ
aJD<4L26H8@F%61H9-1
DD'8/F;-1%1%$

0)#/1
(#

1
)#E($6* $�aJE=^^=EJa
HF<^^<FH;%62N08�H9-1
BD'61F;-1BF%61�Q2+!%01
)#
3+!%13
)$
.�*&4,"���
-��%	LK�
PX@;�~~
pg
		W
	`		P@<�~~
~g
		W
	`		PY@!!!-!-,+)&#"
$5"+!6;6?>;232!5!'&+"5!#!"5'!�8
`��*�`
�:�$���T�Z
�Fd$l)- Pl��db66��dXNTT�d�i�S D@A
L�~~�YaQ%+4773264&"#7462"&&�(��\���Zm5<d��ʌ%HNpNNpN^�&��^��&Zm�Ȏ�dF;�9NNrNN�iPQ5@2

	LK���v+!!5)%5%P��
>���=����Q��M�`�cTS�����0%@"L'J��v+%+&76%6#"'%'7	#"'.7676>'"*

,b46& "���62$��
v��
$&�&
.*
P  �
�P����
&L�F&��$���l�TB@B10	L�v?=43+5676'2?6&6'5'&676?>76&'&'>"'&7;u^Tx��B]7��%'):*R:bBDT�^E�b�YiKV��FPD9FAD;sRV{��F]		
6��#"''!
)P<

9�	P�^C�_
Xk�JLT��F9FV��=";@8 J

IWg_O""
+37
/7'?'?/^`X{��RL��NZ�q�B��C��@F�Z\����\9��5Z���{��}����=	@J	I�v+
%{}u{��n���w�h������h�����<@9��gW_O



2+#!"'&7625#7#�
��

�,nnn"�$dd�,���j�R"%3<p@m#	'
Lg		gg

gg
W
_O444<4<;9650/.,)(%$"!	+2!"&'5!"&'46?>;2633375##!546#'#�
�����6�&!G������m���&��|
�Z � w6� �w�}�°�����6�N��
�����R$,4,@)20.,*(&$"
L4J�v+7'%"/&4762%/?/?/?/?��<�6
�2

o

�

o
�6677�mm"!mm!)7766��6666�<�g
�2

o

�

o
[777�"!mm!"m��777.777�jYR#3CSv@s,$@8	PH
Lgg	g
		g

gW_ODD44DSDRLJ4C4B<:0.(&##&56+!"&'467!23&/&#"&'5!463!2#!"&52#!"&=4632#!"&=4633�
�6J�����S�
�

�w
�

�w

�

�w

~4�~ |&����< ��

$

Y
$

$
�
$

$
���j�R!*3;r@o985(%)$L	iii
Y
aQ,+#"0/+3,3'&"*#*	+2".>"627&7&47'27'"'726.%64'�f��LT����TL��fj_l.^.m`�ll3�j`m.^.l_jY~z�x�cl33lRP��ȼ�PP��ȼ�PG3ll3��l.^.m`��3ll3�~��x�vul_�`m.^��Y1FZ@W*@%;3L�~�igYaQ#&')5#$	+#"&'&4?632>."+"&'546>32%+"&=46;546;2YDr�V`�<L)vC:hP*.Llod(M�,H<�RW�tB��
�

}
$
^W�tDRIM5:.LjtjL.(%M-�H9>Dt�J�

#
�

/.�_<���m��m���iPTR�jP����P�����
4��������P����������Y�Y���Z����"�d��j��	0	��
T����55EL\lw
+��	j�	 /	O	 ]	 }	�	 �	
V�	&)Copyright (C) 2021 by original authors @
fontello.comrsticketsproiconRegularrsticketsproiconrsticketsproiconVersion
1.0rsticketsproiconGenerated by svg2ttf from Fontello
project.http://fontello.comCopyright (C) 2021 by original authors @
fontello.comrsticketsproiconRegularrsticketsproiconrsticketsproiconVersion
1.0rsticketsproiconGenerated by svg2ttf from Fontello
project.http://fontello.com
	

	clipboardfolderusersuser	chart-bar
arrows-ccwmailcogs	briefcasesearch-circledterminal
chart-lineattach
star-emptystar	attentiondocsmagicdoc-textlifebuoyhistory���,
�UXEY  K�QK�SZX�4�(Y`f
�UX�%a�cc#b!!�Y�C#D�C`B-�,� `f-�,#!#!-�,
d�BC�C ``B�CB�%C�CTx
�#�CCad�Px�C`B�!e!�CC�B
�C#B�C`B#�PXeY�C`B-�,�+�CX#!#!�CC#�PXeY d
��P�&Z�(
CEcE�EX!�%YR[X!#!�X �PPX!�@Y
�8PX!�8YY �
CEcEad�(PX!�
CEcE �0PX!�0Y ��PX f ��a
�
PX` � PX!�
` �6PX!�6``YYY�%�Cc�RX�K�
PX!�CK�PX!�Ka�c�Cc�bYYdaY�+YY#�PXeYY
d�C#BY-�, E �%ad �CPX�#B�#B!!Y�`-�,#!#!�+
d�bB �#B�EX�
CEc�
C�`Ec�*! �C �
��+�0%�&QX`PaRYX#Y!Y
�@SX�+!�@Y#�PXeY-�,�	C+�C`B-�,�	#B#
�#Ba�bf�c�`�*-�	,  E �Cc�b
�PX�@`Yf�c`D�`-�
,�	CEB*!�C`B-�,�C#D�C`B-�,  E �+#�C�%` E�#a d
� PX!��0PX� �@YY#�PXeY�%#aDD�`-�
,  E
�+#�C�%` E�#a d�$PX��@Y#�PXeY�%#aDD�`-�,
�#B�
EPX!#!Y*!-�,�E�daD-�,�`  �CJ�PX
�#BY�CJ�RX �#BY-�, �bf�c �c�#a�C` �`
�#B#-�,KTX�dDY$�
e#x-�,KQXKSX�dDY!Y$�e#x-�,�CUX�C�aB�+Y�C�%B�%B�%B�#
�%PX�C`�%B�� �#a�*!#�a
�#a�*!�C`�%B�%a�*!Y�CG�CG`�b �PX�@`Yf�c
�Cc�b
�PX�@`Yf�c`�#D�C�>�C`B-�,�ETX�#B
E�#B�
#�`B `�BBB�`
�#B�a�+��+"Y-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�	+-�+,#
�bf�c�`KTX# .�]!!Y-�,,# �bf�c�`KTX#
.�q!!Y-�-,# �bf�c�&`KTX# .�r!!Y-�
,�+�ETX�#B E�#B�
#�`B
`�a�BB�`�+��+"Y-�!,� +-�",�
+-�#,� +-�$,� +-�%,� +-�&,� +-�',�
+-�(,� +-�),� +-�*,�	 +-�., <�`-�/, `�`
C#�`C�%a�`�.*!-�0,�/+�/*-�1,  G  �Cc�b
�PX�@`Yf�c`#a8# �UX G  �Cc�b
�PX�@`Yf�c`#a8!Y-�2,�ETX�EB��1*�EX0Y"Y-�3,�+�ETX�EB��1*�EX0Y"Y-�4,
5�`-�5,�EB�Ec�b �PX�@`Yf�c�+�Cc�b
�PX�@`Yf�c�+��D>#8�4*!-�6, < G �Cc�b
�PX�@`Yf�c`�Ca8-�7,.<-�8, < G �Cc�b
�PX�@`Yf�c`�Ca�Cc8-�9,�% . G�#B�%I��G#G#a
Xb!Y�#B�8*-�:,��#B�%�%G#G#a�B�C+e�.# 
<�8-�;,��#B�%�% .G#G#a �#B�B�C+ �`PX
�@QX�  �&YBB# �
C �#G#G#a#F`�C�b �PX�@`Yf�c` �+ ��a
�C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca# 
�&#Fa8#�
CF�%�
CG#G#a` �C�b �PX�@`Yf�c`# �+#�C`�+�%a�%�b
�PX�@`Yf�c�&a �%`d#�%`dPX!#!Y# 
�&#Fa8Y-�<,��#B   �& .G#G#a#<8-�=,��#B
�
#B   F#G�+#a8-�>,��#B�%�%G#G#a�TX.
<#!�%�%G#G#a �%�%G#G#a�%�%I�%a�cc# Xb!Yc�b
�PX�@`Yf�c`#.#  <�8#!Y-�?,��#B �
C .G#G#a `� `f�b �PX�@`Yf�c#  <�8-�@,#
.F�%F�CXPRYX <Y.�0+-�A,# .F�%F�CXRPYX
<Y.�0+-�B,# .F�%F�CXPRYX <Y# .F�%F�CXRPYX
<Y.�0+-�C,�:+# .F�%F�CXPRYX <Y.�0+-�D,�;+� 
<�#B�8# .F�%F�CXPRYX
<Y.�0+�C.�0+-�E,��%�&   F#Ga�#B.G#G#a�C+#
< .#8�0+-�F,�
%B��%�% .G#G#a �#B�B�C+ �`PX �@QX� 
�&YBB# G�C�b �PX�@`Yf�c` �+ ��a
�C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca�%Fa8#
<#8!  F#G�+#a8!Y�0+-�G,�:+.�0+-�H,�;+!# 
<�#B#8�0+�C.�0+-�I,� G�#B�.�6*-�J,�
G�#B�.�6*-�K,��7*-�L,�9*-�M,�E# .
F�#a8�0+-�N,�
#B�M+-�O,�F+-�P,�F+-�Q,�F+-�R,�F+-�S,�G+-�T,�G+-�U,�G+-�V,�G+-�W,�C+-�X,�C+-�Y,�C+-�Z,�C+-�[,�C+-�\,�C+-�],�C+-�^,�C+-�_,�E+-�`,�E+-�a,�E+-�b,�E+-�c,�H+-�d,�H+-�e,�H+-�f,�H+-�g,�D+-�h,�D+-�i,�D+-�j,�D+-�k,�D+-�l,�D+-�m,�D+-�n,�D+-�o,�<+.�0+-�p,�<+�@+-�q,�<+�A+-�r,��<+�B+-�s,�<+�@+-�t,�<+�A+-�u,��<+�B+-�v,�=+.�0+-�w,�=+�@+-�x,�=+�A+-�y,�=+�B+-�z,�=+�@+-�{,�=+�A+-�|,�=+�B+-�},�>+.�0+-�~,�>+�@+-�,�>+�A+-��,�>+�B+-��,�>+�@+-��,�>+�A+-��,�>+�B+-��,�?+.�0+-��,�?+�@+-��,�?+�A+-��,�?+�B+-��,�?+�@+-��,�?+�A+-��,�?+�B+-��,�EPX��EX#!!YYB+�e�$Px�EX0Y-K��RX��Y��cp�B�*�B�
*�B�
*�B�*�B�*�D�$�QX�@�X�dD�(�QX��X�DY�'�QX��@�cTX�DYYYYY�*������D�dDDcss/font/rsticketsproicon.svg000064400000021521151165074460012442
0ustar00<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg">
<metadata>Copyright (C) 2021 by original authors @
fontello.com</metadata>
<defs>
<font id="rsticketsproicon" horiz-adv-x="1000" >
<font-face font-family="rsticketsproicon"
font-weight="400" font-stretch="normal"
units-per-em="1000" ascent="850"
descent="-150" />
<missing-glyph horiz-adv-x="1000" />
<glyph glyph-name="clipboard" unicode="&#xe800;"
d="M0-150l0 904 225 0 0-64-161 0 0-774 579 0 0 774-161 0 0 64 225 0
0-904-707 0z m129 129l0 31 31 0 0-31-31 0z m0 121l0 31 31 0 0-31-31 0z m0
121l0 31 31 0 0-31-31 0z m0 121l0 32 31 0 0-32-31 0z m0 121l0 32 31 0
0-32-31 0z m0 96l0 94 129 0 0 97q0 41 27 71t69 29 69-30 28-70q0-56-2-97l129
0 0-94-449 0z m96-582l0 33 353 0 0-33-353 0z m0 121l0 33 353 0 0-33-353 0z
m0 121l0 33 353 0 0-33-353 0z m0 121l0 34 353 0 0-34-353 0z m0 121l0 34 353
0 0-34-353 0z m97 260q0-14 9-22t23-9 22 9 9 22-9 24-22 9-23-9-9-24z"
horiz-adv-x="707" />

<glyph glyph-name="folder" unicode="&#xe801;"
d="M0-52l0 715 139 0 68 90 217 0 68-90 508 0 0-715-1000 0z"
horiz-adv-x="1000" />

<glyph glyph-name="users" unicode="&#xe802;"
d="M0 106l0 134q0 26 18 32l171 80q-66 39-68 131 0 56 35 103 37 41 90
43 31 0 63-19-49-125 23-237-12-11-25-19l-114-55q-48-23-52-84l0-143-114
0q-25 0-27 34z m193-59l0 168q0 27 22 37l152 70 57 28q-37 23-60 66t-22 94q0
76 46 130t110 54 109-54 45-130q0-105-78-158l61-30 146-70q24-10
24-37l0-168q-2-37-37-41l-541 0q-14 2-24 14t-10 27z m473 330q68 106 22 231
31 19 66 21 49 0 90-43 35-41 35-103 0-82-65-131l168-80q18-10
18-32l0-134q0-32-27-34l-118 0 0 143q0 57-50 84l-110 53q-15 8-29 25z"
horiz-adv-x="1000" />

<glyph glyph-name="user" unicode="&#xe803;"
d="M0-150l0 156q0 24 58 58t159 71q99 35 137 73t37 101q0 29-27 72t-32
59q-12 35-29 135-10 52-14 93-2 22 6 50t28 60 67 52 110 20 110-20 67-52
28-60 6-50q-4-41-14-93-17-100-29-135-6-16-32-59t-27-72q0-64
37-101t137-73q217-80 217-129l0-156-1000 0z"
horiz-adv-x="1000" />

<glyph glyph-name="chart-bar" unicode="&#xe804;"
d="M750 800q22 0 36-15t14-35l0-850-200 0 0 850q0 50 40 50l110 0z
m-300-300q22 0 36-15t14-35l0-550-200 0 0 550q0 50 40 50l110 0z m-300-300q22
0 36-15t14-35l0-250-200 0 0 250q0 50 40 50l110 0z"
horiz-adv-x="800" />

<glyph glyph-name="arrows-ccw"
unicode="&#xe805;" d="M186 140l116 116 0-292-276 16 88
86q-116 122-114 290t120 288q100 100 240
116l4-102q-100-16-172-88-88-88-90-213t84-217z m332 598l276-16-88-86q116-122
114-290t-120-288q-96-98-240-118l-2 104q98 16 170 88 88 88 90 213t-84
217l-114-116z" horiz-adv-x="820" />

<glyph glyph-name="mail" unicode="&#xe806;"
d="M30 586q-32 18-28 40 2 14 26 14l846 0q38 0
20-32-8-14-24-22-14-6-192-102t-182-98q-16-10-46-10-28 0-46 10-4 2-182
98t-192 102z m850-100q20 10 20-10l0-368q0-16-17-32t-33-16l-800 0q-16 0-33
16t-17 32l0 368q0 20 20 10l384-200q18-10 46-10t46 10z"
horiz-adv-x="900" />

<glyph glyph-name="cogs" unicode="&#xe807;"
d="M0 245l0 97 94 8q8 30 23 55l-60 74 68 69 74-61q26 16 55 23l8 94 97
0 10-94q29-7 55-23l74 61 68-69-60-74q16-25 23-55l94-8
0-97-94-10q-7-29-23-55l60-72-68-70-74 60q-26-15-55-23l-10-94-97 0-8 94q-29
8-55 23l-74-60-68 70 60 72q-15 26-23 55z m221 49q0-37 26-64t64-26 63 26 26
64-26 63-63 26-64-26-26-63z m318 238l8 72 70-2q8 22 20 39l-37 57 54 45
49-49q20 10 41 14l14 66 72-8-2-68q22-8 39-22l57 39 45-54-49-49q10-20
12-43l68-14-8-70-68 0q-8-20-22-37l39-59-56-45-47 49q-22-8-43-12l-14-66-70 6
0 70q-20 8-37 20l-59-37-45 54 49 49q-8 20-12 41z m31-445l6 50 49 0q6 16 14
28l-26 43 37 33 36-37q13 8 29 10l10 48 48-5 0-49q16-6 28-16l41 27
31-41-35-35q6-13 10-29l47-12-6-51-49 0q-4-15-14-27l28-43-40-33-35
37q-13-8-29-10l-10-49-49 6 0 51q-13 4-27 14l-41-28-31 41 35 36q-6 13-8 29z
m118 13q-4-21 8-36t32-17 34 9 17 34-10 35-31 18l-6 0q-17 0-31-12t-13-31z
m17 451q-4-27 14-48t45-25 48 15 23 45-14 48-44 24l-7 0q-26
0-44-17t-21-42z" horiz-adv-x="1000" />

<glyph glyph-name="briefcase" unicode="&#xe808;"
d="M456 326l0-100-456 0q8 226 10 292 4 108 100 108l160 0q16 26 37
67t23 45q14 26 23 32t37 6l222 0q26 0 36-7t22-31q18-32 60-112l160 0q96 0
100-108l10-292-454 0 0 100-90 0z m-74 354l-28-54 292 0-28 54q-14 26-42
26l-152 0q-28 0-42-26z m164-604l0 100 430 0q-6-88-10-166-6-84-90-84l-750
0q-90 0-90 84l-10 166 430 0 0-100 90 0z" horiz-adv-x="1000"
/>

<glyph glyph-name="search-circled"
unicode="&#xe809;" d="M0 350q0 207 147 354t353 146
354-146 146-354-146-354-354-146-353 146-147 354z m223-193l90-90 109
109q53-27 113-27 100 0 171 71t71 171-71 171-172 71-171-71-70-171q0-70
37-129l-2 0z m177 234q0 57 39 96t95 39 95-39 39-96-39-96-95-39-95 39-39
96z" horiz-adv-x="1000" />

<glyph glyph-name="terminal" unicode="&#xe80a;"
d="M1360 849v-1000h-1360v1000h1360z m-838-600h318v77h-318v-77z m-362
77l317 135v96l-317 134v-99l209-84-209-83v-99z"
horiz-adv-x="1360" />

<glyph glyph-name="chart-line"
unicode="&#xe80b;" d="M34 284q-42 10-32 56 10 42 54
32l98-24-52-80z m890-12q14 12 33
11t31-15q32-32-2-64l-252-226q-12-12-30-12-14 0-28 10l-286 220-54 14 50 80
36-8q12-4 16-8l264-204z m-490 220l-350-550q-12-22-38-22-12 0-24 8-16 10-20
29t6 33l374 588q8 16 28 20 18 6 36-6l246-156 226 326q10 16 28 19t34-9q38-24
12-62l-252-362q-24-36-62-12z" horiz-adv-x="1003" />

<glyph glyph-name="attach" unicode="&#xe80c;"
d="M0 65q8 68 67 127l383 383q117 115 211 33 84-86-36-209l-353-351-66
70 349 349q2 0 8 6l8 8t7 9 6 10 6 9 4 11l0 10t-2 12q-19
17-74-37l-381-381q-37-35-41-69-4-39 35-78 41-33 70-28t71 46q82 80 218
215t194 195q2 2 18 17t17 17 15 16 15 17 12 17 13 19 11 20 10 25q16 57-33
123t-115 75q-68 7-152-73l-418-418-69 67 418 420q98 95 199
100t190-83q105-107
74-236-19-74-94-150-86-84-246-245l-209-209q-70-70-150-72-68 0-125 57-70
70-64 156z" horiz-adv-x="896" />

<glyph glyph-name="star-empty"
unicode="&#xe80d;" d="M0 471l94 0 285-2 96 270 29 90
29-92 88-272 285-6 94-2-76-54-233-166 82-274 28-92-76 57-231
168-232-162-78-53 29 90 90 270-227 174z m189-64l168-129 20-14-8-21-66-203
176 123 17 11 18-13 172-125-61 203-6 21 18 14 174 125-215 4-22 2-8 21-64
201-70-199-8-21-235 0z" horiz-adv-x="1000" />

<glyph glyph-name="star" unicode="&#xe80e;"
d="M0 471l379-2 125 360 117-364 379-8-309-220 110-366-307 225-310-215
119 360z" horiz-adv-x="1000" />

<glyph glyph-name="attention" unicode="&#xe80f;"
d="M957-24q10-16 0-34-10-16-30-16l-892 0q-18 0-28 16-13 18-2 34l446
782q8 18 30 18t30-18z m-420 50l0 100-110 0 0-100 110 0z m0 174l0 300-110 0
0-300 110 0z" horiz-adv-x="962" />

<glyph glyph-name="docs" unicode="&#xf0c5;"
d="M946 636q23 0 38-16t16-38v-678q0-23-16-38t-38-16h-535q-23 0-38
16t-16 38v160h-303q-23 0-38 16t-16 38v375q0 22 11 49t27 42l228 228q15 16 42
27t49 11h232q23 0 38-16t16-38v-183q38 23 71 23h232z
m-303-119l-167-167h167v167z m-357 214l-167-167h167v167z m109-361l176
176v233h-214v-233q0-22-15-37t-38-16h-233v-357h286v143q0 22 11 49t27 42z
m534-449v643h-215v-232q0-22-15-38t-38-15h-232v-358h500z"
horiz-adv-x="1000" />

<glyph glyph-name="magic" unicode="&#xf0d0;"
d="M664 526l164 163-60 60-164-163z m250
163q0-15-10-25l-718-718q-10-10-25-10t-25 10l-111 111q-10 10-10 25t10 25l718
718q10 10 25 10t25-10l111-111q10-10 10-25z m-754 106l54-16-54-17-17-55-17
55-55 17 55 16 17 55z m195-90l109-34-109-33-34-109-33 109-109 33 109 34 33
109z m519-267l55-17-55-16-17-55-17 55-54 16 54 17 17 55z m-357
357l54-16-54-17-17-55-17 55-54 17 54 16 17 55z"
horiz-adv-x="928.6" />

<glyph glyph-name="doc-text" unicode="&#xf0f6;"
d="M819 638q16-16 27-42t11-50v-642q0-23-15-38t-38-16h-750q-23 0-38
16t-16 38v892q0 23 16 38t38 16h500q22 0 49-11t42-27z m-248 136v-210h210q-5
17-12 23l-175 175q-6 7-23 12z m215-853v572h-232q-23 0-38 16t-16
37v233h-429v-858h715z m-572 483q0 7 5 12t13 5h393q8 0
13-5t5-12v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36z m411-125q8 0
13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13 5h393z
m0-143q8 0 13-5t5-13v-36q0-8-5-13t-13-5h-393q-8 0-13 5t-5 13v36q0 8 5 13t13
5h393z" horiz-adv-x="857.1" />

<glyph glyph-name="lifebuoy" unicode="&#xf1cd;"
d="M500 850q102 0 194-40t160-106 106-160
40-194-40-194-106-160-160-106-194-40-194 40-160 106-106 160-40 194 40 194
106 160 160 106 194 40z m0-71q-106 0-201-51l108-108q46 16 93 16t93-16l109
108q-96 51-202 51z m-378-630l108 108q-16 46-16 93t16 93l-108
109q-51-96-51-202t51-201z m378-228q106 0 202 51l-109 108q-46-16-93-16t-93
16l-108-108q95-51 201-51z m0 215q89 0 152 63t62 151-62 152-152
62-151-62-63-152 63-151 151-63z m270 121l108-108q51 95 51 201t-51
202l-108-109q16-46 16-93t-16-93z" horiz-adv-x="1000" />

<glyph glyph-name="history" unicode="&#xf1da;"
d="M857 350q0-87-34-166t-91-137-137-92-166-34q-96 0-183 41t-147 114q-4
6-4 13t5 11l76 77q6 5 14 5 9-1 13-7 41-53 100-82t126-29q58 0 110 23t92 61
61 91 22 111-22 111-61 91-92 61-110 23q-55 0-105-20t-90-57l77-77q17-16
8-38-10-23-33-23h-250q-15 0-25 11t-11 25v250q0 24 22 33 22 10 39-8l72-72q60
57 137 88t159 31q87 0 166-34t137-92 91-137 34-166z m-357
161v-250q0-8-5-13t-13-5h-178q-8 0-13 5t-5 13v35q0 8 5 13t13 5h125v197q0 8 5
13t12 5h36q8 0 13-5t5-13z" horiz-adv-x="857.1" />
</font>
</defs>
</svg>css/font/rsticketsproicon.ttf000064400000025714151165074460012450
0ustar00�pGSUB �%z�TOS/2>!S�PVcmap��
N��cvt
fpgmb.�z$gaspglyf�>��X�headEu\�6hhea��$hmtxRg��4Xloca71��.maxp�;�
name&�z��-post&+O�prep~�;�+0�
0>DFLTlatnliga��z��z��1PfEd����R�jZT�,��,
�r����������������������,,,,,	

������������������	�	�	
�
�
����
�
�
����������������������
�j�S,048<@I�@�AL�g$g)#g("

g
'!
g& 		g%gW_O==995511-- 
=@=@?>9<9<;:585876141432-0-0/. ,
,+*&%"!
*+3#!#53%53'53'53'53'53'5354635!%5!%5!%5!%5!>&�C���6T6���a��a��a��a��a���@��@�x�yyy
 y 
`^a)<:)8)^��!!y!!y!!y""y""����@��v+373!�D�D�4�ZZ�5��0G-@*;3&L���v&))+=4?&'47672#"54?.7462!.6'672#54/&�B#%5
1H
r0r��9%.\�ZN=�#���D.#1)#A�v2nj�P'\8/)}p7=��
FV3LllLi5F
�%Yj}+)>R1P
�
�95�j�R$@�v$$+5467>'4&'&'&'&>2tecL6
(^~^(
4Jdٖ�D%#L?V#d4)8@((@8)4d#V@J$P1��� 
6@3���v
	
	
	+2#432#432#543��(��(��(
��R2����&2����2����6�%@"
L	JI�v+?%7&767'67>'�t��Xtvd�dHX�Xtv`�bHXVr�t��VzPxdfHX��Vz��xbhHX�\t����#$@!��Y_O93+&763!2"/&6#!"&5427
N&��:��D"��"�8J `b

b`^
��  p
�

���'0X����@�EVUSQLJIhedc_^TPOKig]%�m$"~}{ytq#L`jKBA@?=<;8765	J|xwsrI		���~~iY_O����on[ZGF32/.+*
+=767'76?37'#'&''7&'7>.%767'76?7#''5&''7&'7367'76?7#''5&''7&'7>&'#">&'#"^<DJa
JD<^^<DJ
aJD<4L26H8@F%61H9-1
DD'8/F;-1%1%$

0)#/1
(#

1
)#E($6* $�aJE=^^=EJa
HF<^^<FH;%62N08�H9-1
BD'61F;-1BF%61�Q2+!%01
)#
3+!%13
)$
.�*&4,"���
-��%	LK�
PX@;�~~
pg
		W
	`		P@<�~~
~g
		W
	`		PY@!!!-!-,+)&#"
$5"+!6;6?>;232!5!'&+"5!#!"5'!�8
`��*�`
�:�$���T�Z
�Fd$l)- Pl��db66��dXNTT�d�i�S D@A
L�~~�YaQ%+4773264&"#7462"&&�(��\���Zm5<d��ʌ%HNpNNpN^�&��^��&Zm�Ȏ�dF;�9NNrNN�iPQ5@2

	LK���v+!!5)%5%P��
>���=����Q��M�`�cTS�����0%@"L'J��v+%+&76%6#"'%'7	#"'.7676>'"*

,b46& "���62$��
v��
$&�&
.*
P  �
�P����
&L�F&��$���l�TB@B10	L�v?=43+5676'2?6&6'5'&676?>76&'&'>"'&7;u^Tx��B]7��%'):*R:bBDT�^E�b�YiKV��FPD9FAD;sRV{��F]		
6��#"''!
)P<

9�	P�^C�_
Xk�JLT��F9FV��=";@8 J

IWg_O""
+37
/7'?'?/^`X{��RL��NZ�q�B��C��@F�Z\����\9��5Z���{��}����=	@J	I�v+
%{}u{��n���w�h������h�����<@9��gW_O



2+#!"'&7625#7#�
��

�,nnn"�$dd�,���j�R"%3<p@m#	'
Lg		gg

gg
W
_O444<4<;9650/.,)(%$"!	+2!"&'5!"&'46?>;2633375##!546#'#�
�����6�&!G������m���&��|
�Z � w6� �w�}�°�����6�N��
�����R$,4,@)20.,*(&$"
L4J�v+7'%"/&4762%/?/?/?/?��<�6
�2

o

�

o
�6677�mm"!mm!)7766��6666�<�g
�2

o

�

o
[777�"!mm!"m��777.777�jYR#3CSv@s,$@8	PH
Lgg	g
		g

gW_ODD44DSDRLJ4C4B<:0.(&##&56+!"&'467!23&/&#"&'5!463!2#!"&52#!"&=4632#!"&=4633�
�6J�����S�
�

�w
�

�w

�

�w

~4�~ |&����< ��

$

Y
$

$
�
$

$
���j�R!*3;r@o985(%)$L	iii
Y
aQ,+#"0/+3,3'&"*#*	+2".>"627&7&47'27'"'726.%64'�f��LT����TL��fj_l.^.m`�ll3�j`m.^.l_jY~z�x�cl33lRP��ȼ�PP��ȼ�PG3ll3��l.^.m`��3ll3�~��x�vul_�`m.^��Y1FZ@W*@%;3L�~�igYaQ#&')5#$	+#"&'&4?632>."+"&'546>32%+"&=46;546;2YDr�V`�<L)vC:hP*.Llod(M�,H<�RW�tB��
�

}
$
^W�tDRIM5:.LjtjL.(%M-�H9>Dt�J�

#
�

/.�_<���m��m���iPTR�jP����P�����
4��������P����������Y�Y���Z����"�d��j��	0	��
T����55EL\lw
+��	j�	 /	O	 ]	 }	�	 �	
V�	&)Copyright (C) 2021 by original authors @
fontello.comrsticketsproiconRegularrsticketsproiconrsticketsproiconVersion
1.0rsticketsproiconGenerated by svg2ttf from Fontello
project.http://fontello.comCopyright (C) 2021 by original authors @
fontello.comrsticketsproiconRegularrsticketsproiconrsticketsproiconVersion
1.0rsticketsproiconGenerated by svg2ttf from Fontello
project.http://fontello.com
	

	clipboardfolderusersuser	chart-bar
arrows-ccwmailcogs	briefcasesearch-circledterminal
chart-lineattach
star-emptystar	attentiondocsmagicdoc-textlifebuoyhistory���,
�UXEY  K�QK�SZX�4�(Y`f
�UX�%a�cc#b!!�Y�C#D�C`B-�,� `f-�,#!#!-�,
d�BC�C ``B�CB�%C�CTx
�#�CCad�Px�C`B�!e!�CC�B
�C#B�C`B#�PXeY�C`B-�,�+�CX#!#!�CC#�PXeY d
��P�&Z�(
CEcE�EX!�%YR[X!#!�X �PPX!�@Y
�8PX!�8YY �
CEcEad�(PX!�
CEcE �0PX!�0Y ��PX f ��a
�
PX` � PX!�
` �6PX!�6``YYY�%�Cc�RX�K�
PX!�CK�PX!�Ka�c�Cc�bYYdaY�+YY#�PXeYY
d�C#BY-�, E �%ad �CPX�#B�#B!!Y�`-�,#!#!�+
d�bB �#B�EX�
CEc�
C�`Ec�*! �C �
��+�0%�&QX`PaRYX#Y!Y
�@SX�+!�@Y#�PXeY-�,�	C+�C`B-�,�	#B#
�#Ba�bf�c�`�*-�	,  E �Cc�b
�PX�@`Yf�c`D�`-�
,�	CEB*!�C`B-�,�C#D�C`B-�,  E �+#�C�%` E�#a d
� PX!��0PX� �@YY#�PXeY�%#aDD�`-�
,  E
�+#�C�%` E�#a d�$PX��@Y#�PXeY�%#aDD�`-�,
�#B�
EPX!#!Y*!-�,�E�daD-�,�`  �CJ�PX
�#BY�CJ�RX �#BY-�, �bf�c �c�#a�C` �`
�#B#-�,KTX�dDY$�
e#x-�,KQXKSX�dDY!Y$�e#x-�,�CUX�C�aB�+Y�C�%B�%B�%B�#
�%PX�C`�%B�� �#a�*!#�a
�#a�*!�C`�%B�%a�*!Y�CG�CG`�b �PX�@`Yf�c
�Cc�b
�PX�@`Yf�c`�#D�C�>�C`B-�,�ETX�#B
E�#B�
#�`B `�BBB�`
�#B�a�+��+"Y-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�+-�,�	+-�+,#
�bf�c�`KTX# .�]!!Y-�,,# �bf�c�`KTX#
.�q!!Y-�-,# �bf�c�&`KTX# .�r!!Y-�
,�+�ETX�#B E�#B�
#�`B
`�a�BB�`�+��+"Y-�!,� +-�",�
+-�#,� +-�$,� +-�%,� +-�&,� +-�',�
+-�(,� +-�),� +-�*,�	 +-�., <�`-�/, `�`
C#�`C�%a�`�.*!-�0,�/+�/*-�1,  G  �Cc�b
�PX�@`Yf�c`#a8# �UX G  �Cc�b
�PX�@`Yf�c`#a8!Y-�2,�ETX�EB��1*�EX0Y"Y-�3,�+�ETX�EB��1*�EX0Y"Y-�4,
5�`-�5,�EB�Ec�b �PX�@`Yf�c�+�Cc�b
�PX�@`Yf�c�+��D>#8�4*!-�6, < G �Cc�b
�PX�@`Yf�c`�Ca8-�7,.<-�8, < G �Cc�b
�PX�@`Yf�c`�Ca�Cc8-�9,�% . G�#B�%I��G#G#a
Xb!Y�#B�8*-�:,��#B�%�%G#G#a�B�C+e�.# 
<�8-�;,��#B�%�% .G#G#a �#B�B�C+ �`PX
�@QX�  �&YBB# �
C �#G#G#a#F`�C�b �PX�@`Yf�c` �+ ��a
�C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca# 
�&#Fa8#�
CF�%�
CG#G#a` �C�b �PX�@`Yf�c`# �+#�C`�+�%a�%�b
�PX�@`Yf�c�&a �%`d#�%`dPX!#!Y# 
�&#Fa8Y-�<,��#B   �& .G#G#a#<8-�=,��#B
�
#B   F#G�+#a8-�>,��#B�%�%G#G#a�TX.
<#!�%�%G#G#a �%�%G#G#a�%�%I�%a�cc# Xb!Yc�b
�PX�@`Yf�c`#.#  <�8#!Y-�?,��#B �
C .G#G#a `� `f�b �PX�@`Yf�c#  <�8-�@,#
.F�%F�CXPRYX <Y.�0+-�A,# .F�%F�CXRPYX
<Y.�0+-�B,# .F�%F�CXPRYX <Y# .F�%F�CXRPYX
<Y.�0+-�C,�:+# .F�%F�CXPRYX <Y.�0+-�D,�;+� 
<�#B�8# .F�%F�CXPRYX
<Y.�0+�C.�0+-�E,��%�&   F#Ga�#B.G#G#a�C+#
< .#8�0+-�F,�
%B��%�% .G#G#a �#B�B�C+ �`PX �@QX� 
�&YBB# G�C�b �PX�@`Yf�c` �+ ��a
�C`d#�CadPX�Ca�C`Y�%�b �PX�@`Yf�ca�%Fa8#
<#8!  F#G�+#a8!Y�0+-�G,�:+.�0+-�H,�;+!# 
<�#B#8�0+�C.�0+-�I,� G�#B�.�6*-�J,�
G�#B�.�6*-�K,��7*-�L,�9*-�M,�E# .
F�#a8�0+-�N,�
#B�M+-�O,�F+-�P,�F+-�Q,�F+-�R,�F+-�S,�G+-�T,�G+-�U,�G+-�V,�G+-�W,�C+-�X,�C+-�Y,�C+-�Z,�C+-�[,�C+-�\,�C+-�],�C+-�^,�C+-�_,�E+-�`,�E+-�a,�E+-�b,�E+-�c,�H+-�d,�H+-�e,�H+-�f,�H+-�g,�D+-�h,�D+-�i,�D+-�j,�D+-�k,�D+-�l,�D+-�m,�D+-�n,�D+-�o,�<+.�0+-�p,�<+�@+-�q,�<+�A+-�r,��<+�B+-�s,�<+�@+-�t,�<+�A+-�u,��<+�B+-�v,�=+.�0+-�w,�=+�@+-�x,�=+�A+-�y,�=+�B+-�z,�=+�@+-�{,�=+�A+-�|,�=+�B+-�},�>+.�0+-�~,�>+�@+-�,�>+�A+-��,�>+�B+-��,�>+�@+-��,�>+�A+-��,�>+�B+-��,�?+.�0+-��,�?+�@+-��,�?+�A+-��,�?+�B+-��,�?+�@+-��,�?+�A+-��,�?+�B+-��,�EPX��EX#!!YYB+�e�$Px�EX0Y-K��RX��Y��cp�B�*�B�
*�B�
*�B�*�B�*�D�$�QX�@�X�dD�(�QX��X�DY�'�QX��@�cTX�DYYYYY�*������D�dDDcss/font/rsticketsproicon.woff000064400000016134151165074460012610
0ustar00wOFF\+�GSUBX;T �%zOS/2�CV>!S�cmap�����
Ncvt
�fpgm��b.�zgasp	�glyf	���>��head�26Eu\hhea�
$��hmtx:XRg��loca@..71�maxpp 
�;name��-&�z�post$��&+Oprep�z�~�;�x�c`d``�b0`�c`rq�	a��I,�c�b`a��<2�1'3=���ʱ�i
f��&;Hx�c`d��8�������iC�f|�`��e`ef�
�\S�`�x�9�Cs�t�0#H�
Rx��An�@E�@HMK)����Wa�Ě��d���*w�ыdkƉ�,��ٛ�/��W˽>gu�w|;����PO�2��
�1��w�O�3���w[���>��
_l�1�h�3�x�!�1f�?J<S��O%�TI�V�٣�Pb(���(�-���)�A��%Jl%��Mi�4�԰s�a�Ldž����`�gM<x�c`@x��Wk[���
�B�ͺ�(cQ��$qb+�eQ%����un�H�M�^���5�_�?sV�O�o�iy��Jܧ�S>�3�Μ�YHhI�~�Rv���.U�=��K���ޏ��H?�Ӣ�W�n�N"&���pD��Mr4��a�
Z�U�IE-G����2I����Y�P!�;�4��t@���P(��\���h��%��GU��5E�ģ�`�4=�룕
�	�H��G���k�\�C��Q���x��dwI�0�	6m0ڈc�Y6,���|$i��י�y/���0�4Ӌ�H^�at����M�8v-�
�$v#]&�1v�t�ѕn�hA��,��x���xq�{��Q~ܤ�����H��TЋhJ�4�|d[�&UL�	9Ȧ�}ɋ�k��_Iا�Z���!te��"�%=7ݍ#�cI��"���ܔ&Mi:x#Q�i��P�
��
�����Zk�9-��y�U��O��$fJ�e��ѣs�"����p�듅4kOq<���D�C�rRM���	!��ȱ�H�J����3��U��4��CGs��B��������
���V�4�R҅�5>��b�`򵈃LP$bЇfZ9L$-"lMZ�ݽ(+
��4w��T�ݝ�{�N�u�W����Rp?ʖ�rR�=�r(-?��?�!g�(6zQ�ჿ��څ��¶1v�:o�M��t`�'�uF
3!�
�BA�9�c�U�"�p/�%�ː�Q~s�p���?�.9bQT���e�9i�<�ѧ��4µk^�.��ay	�f�5�Y>��KWge��uVa�u�M����i����9��V�S%A��l��ߖ&�c�+�ŏ�b����d�c�(��ޙ~©[W����ោ]O�?�
���
�X6��U�����5���[���c�Ҳm
����K�D�s������5���G�q��U��3���
ō����v��l�r��3kY٩��"{�ܱ�Ź������q��_Չk{�-</V�%�o���n85��&�N��%�h��u�ݤ��FEa�A)+
ْn	��ᰣ:�!>t]�H�S[F�o�w��E�Jh�
C�f�O��`�RR��8�I�l��1[R�=es':*ɲt�J��b�;���2;�vB����p���R)H��xT�\
R8�N�������m�XA�6�X3�т�NQ�lO���
e\�+��D6��F�w�/u���XH̖W�X�6���d�f���R��I�i{QK����d��TP������.6��U{�-�%��1K�q���y��q�7�?Z�m�D=o�lǭl�Yƽ}����;�ꟺ�I;M��')��t��6�18u&	m�:v��e��U�h�u�T�p���:��[3��?�t�U�����B�:V/�8���|�G�U�n{u��%�f��A�^{|��W[t���3�8�Y����kz�
�b�p�m<��h�����
�o��=���9ff���cN`�9�3��w����0���b}�ع@v�-�9��f�A�0Ϡw�g�{�3HX'��u2�g���y`��a�9�g��������.F?0v1�����Cc�������Ljq{����m~d�+�s�����xks��,d��
��9���&��Ҍ̎Cyǯ,d��qNN���L���L��w&�ތ�����G��	��	��	���y5#C���L���L�v�ZȄ��L�T�Λ/[���R��&���h���W{��Ǻ�%�A��x�}Wl�u}��wg��3��3���w�˟�̒�oE�4M�)�b%��)JfL�%eE�)9�h
�\�1l7M#�1,�E5��H�Ƶ��N
ß��"h�Tr�;����h��y�޾7s߽�{.i
ds����M��K��
a#m��I7�#ry���m�D%�9�X����"
�R��#{B�i'��Ӱ)ۘ`ܢ�^�A4�8��Eׂ|&c��r�K(�D�������R����=�D�AMS����Jep�����wk���]���]�B����sKG�-���bf��H,�6�p�Q34C(~��S=^�Wn�}�U篅��B
�&�T��fJ�@��~KE+
�&PJ2_���0e������7^��;cMY@��߁�_�n_D�ZP?�<QY���Sgb���x?s�s}tk�;7��D�'�����8ȣO`�~�\��A�D��(F�`�fgD��r|���r�H�_~֋�홙��`�s�F_%:�N�^i�-���
��SB��9�0p���f8���|����`f�e��7x��/RI�T�P.Zy=�	1Л�D��uf:��iB�T���χh*S�ŻF=
�;���?ד�k3�_��Ƨ��w�R]�Զ˾�J��w��?��߽%G����Ų�L��41��KK�#����ai�O�ikn`�kB���gz�%���E�3I�$X	8�C�{i���^o
��-����G�����;[9��{�`qUb��<�:۬PVR=|���?!8�IU��(��bN�47W��\q>��i���'�.�b�y��3q"�i�R�#pN��s"����4o��\@��7�
.UR8��
��Z@��)�X`~�	���=�f��/L<��_a&�Qm�WԬ�ܸ�'t��)c���4�L%�1po
��`Ldq訕����AP3eӇ`0�'莗�5�	?8a�۾��S��>^���=Kaw��N�({�
����}7�v�i���T�.tԳt
=�"�J�1R�&��4�
��;����V�Y�
��/�g��YU�S��YR�����8b�7}�"����+̰�T�?R����}ţ�qY��Iҡ�YI��U�q�iқ����c�^E,�$�giY#_#��k������Ȟ?ؽ�:v���r3��/��{`vjb玀D�̑�{2AN�g���p#��z��N|%���9��
�C�*��}�H�%�k�S'8�]�E\���5"R�����]%�V���s�P�4�.
@a�7���'�?���;G
�-�-�hH�
<��lٰ�`�F��Ѝ��EO��$ٲ�-k��v>�So�ǩ7��[󳥛�r���W�k��M%y�緳��ox,�$��Bc�}�0;+(�!�X��yj�vCE=�KȣTW{ڻ$:,�r�{��G4���Kd3|/�2�E�T<�X�g��]�iN�PW���;�`s��x5�c�V�����cw��
�c�1Z�mt
�u�
5�f,��d�߾e;T�m3n�1��2�ޕW<���H;�.^
��O�[��h[�mDY�#��j�E4�m4Y��"	�8i'����P�q�ab_��G8�5pD�Q
���-C�q��n�˽�k��ܮ�p��D��|�M�M�'��Zsf*o
��Ƞ/]J�2&e$�V/
4��qW��D�Y���R�R3�v���]T��|�<���s�do})�y.r��,?�ᛑ�
��Cz)�ky�`|b�`YVh��}�SS/��}w��W�D"�8�l��+PN�L��ǰ��(�Q�,�CV���b�L;��
>����3~��&�"a�+,)e����f�hF��
5>i�	���?��۟���r�o���z*CGǏ��f�	Ljh��R�3���|���3=������vs�.���K����qK.[UD~��L�9WK�q�D�1s����V@=�R2�L���W������o��w�]�A����h��{�v�^7�y�Ygd�
�f��߉�!�q����L�Jk&Ƞq(�|��#'����np�Z�X������d�$�*2�lz��u�O��O�|�Âhf��	y<�(����|����V��zЄ���"'X���O<��Ȳ?��7~���)Ӫ��0��i�O]��ߛK�s�"M��PW�K�jj��X��\���d��h!d!?H-�ʖ���Z�7t�A�e�tƲP�K=		ɬY{��g�N���{(/
��/ۏeX6���2	���:�r����={�x��#1��=����
�����܃�EF��2��r
��^6�G���s�%Lس��Ҿ?<3V�z��3�AA6E���ܚ$��nL�d,��5E�H�D1�#��3���I�@w�|��E��P	��_6�
�7���l�z�>;[/�B�\S�>x�~{2R��k�M3�~�&]U_���.VFDx��<��w��7�{.�X���xF����ɏ��,
���u
W����%�Kt.��[C?:vqa@�2�>���?�o�t^u�������3�y9�gȡ���Uz�s��X�cqN�x�0�C;U��A�T��kP
/"�9�a,9XHf�T�������i�g}R�^���ѣG�JR�)���m���@��.���֨1�K��6;VYN�E�q*pHLA�_�;\q-�:���b�$��2u���e�:/;�
;�E
žb_o�U�r�-לI'!C��x��\W��&ES��\���,�
^(�P0ʸ;���jfP�N������q���ʯ��~
��ĝ�.��_��|��Q�:Duj�5��Gp�Lm�Ÿ'u�kE��m���/����:>�gt���]��`����`^@_1�j�6�f�*�|gG[K��Nƣ���(V%[�P�-c��(g��&ԥbщ0�[�1��`��>�R�K`Iy<b�K��Z�![����������r�氣��/���w����uV₨��/)�*��'�U�e�	�q:n�R��"3�{�c��B\l'��J�
녶4j�J7]�Tr�U�%K�ŚQB����'M���v�2��Ĺ�'�n/6��j��.����Óձ��P��Ύf3�
���V��N�B�>��BL�_M�@����w
����>��J�*|��=jl�j(��c��������$���$�'����u����HW�bpc�����_�������/���2|*H��v&OKb���3��ִ=�C��&�
I����{���A?��F�����y^h�P�ϥ)�q�y�e�G���3�7�cy|�46,t�eW[k*�S�tni-��f�%Ղ%\���%O�F�&;�c$	�lBq��5��5��r���"j�"v5��מ��Sko��)���k�-X��X��#K��T��\�[Ɓ��ӫ���½K�’�LN���?<;q���P[��d}������^]cO����ҁw�G�Z>�+ħ�t�2S���"S�PV��*
,E�eDv���b�<��;,eDk��X�8�%���t�+efs%#e�]|�4�:3����"
���A�XR�<�F_���Gi)�s�%�י�����]�c�*�����[O�Ў����w�~�W�6u��[�{�}bȾ
��8�8]�����]����_��Q]<�X�h�ܭ����7�30|��c7�E)Q�[l��J~�x�c`d``b}�g[�m�2�3��0�ɕ���������r00�Dh�
#x�c`d``�������@
�h_x�c~���t����Vb����[�I�5H������o�������
���i�����Z����"�d��j��	0	��
T���x����J�@��Ԫ؂���9�EHۀO��^�COzH�m�6͆Ͷ҃g�—�g�	��,�M��4a�o����I���%ǚ=1Zs
��v�C�N~t��&2�{�ώ����&N�����	>{��C������:���.N�7�{��x_��8����X�4N���[t������<�$��D�Rz2ֹUY��H�Li�h�lY�F:P�<ͦތʔ�Υ�w6�nU�Lh�h�{��k�26z&7n_a�DE�O�-����A�0H#����w�G�4d�0s��"G�"|�Y�T3%�ǘQN����}D|Ϊ��S�YF��̪�6�zW5[���hW9i	���Ͷ�[ڼ��F���X�t�e��.MՕ�f�_qkNh"z�����
m�|�:��x�m��n�0���m��-�
��r!����h��
^;��<�٘'��	laѠ�<^�7�q�;>p�'��~��/}&�1�A���b�x"��'���o%0��L1Y���z�22�!�)pTN2tUt�%�<Hq��j%�|��A�K]�C�=�Rc^쐹43�#ww
U~k��(�5��)��u5��>@�x�c��p"(b##c_�Ɲ�؝620hAh.z'7k'3��FƎ��

~��F
D��%Rz�:HhG#�CGrL62�i�`�ߺ��w#��f�6�*css/font/rsticketsproicon.woff2000064400000013730151165074460012671
0ustar00wOF2�+��TV�0	�
��.6$X
�-���'Eb�8v�Q1���In�4d�"�A�M#Lp/O{hƒ`�y�a��A�I,��q��
��aɡ�2��;�ŐY��S!H���FPyUG�������}����s_���[��l�d�p[<Z
�n�E5�j^�Β�2�2�9��;�ϼ�mvG��D5��IY1�|��B�m�m�]T���]RP��2N,��)�c�Ib�#:َ��l����R�+?�o�2���
%����2�]����9˥+aR
ܺ'T��P����R��d;@�����
Г��]n��)W�]�Fj�be��ƨ���R.S��ojI�i�ε.x�v���367���m��E�n�G�d��N�SJ��kv�^PX^P�	������8�RՈO�ct�A*?�6+R�A�v��
��Ub
Zy�p�V��&s&Ԝ�)ە�j��CQ@�n1�5/Z��.�<���������i�i�����*rW%�S^�
3���s�<�h�@�Y���<�����&��O��y�˚��`Y'�Z̾�?O
���)(��p册PQ1R"��e6	�0�2L��*æ�p�2\��*ç��2B���*#��H�2R��l��
F>�o�Q���Q����?e
��A�0����E6n0t����X7ˢ�4�����i���X���B��;���P��!��\&���]ڔ�|ቮ/��`N��`vs�^MZnkc��n����(�~���L}�V�"W�,�ŕ�&$0������#5R�_���v����,���Xn��W��796�mz�R��kQ���*�����X����L���U<�
�!H1�m�d��N{�ꮡdfr�i��dDmxc�c�#ZG{���G�����w�<޼�6B�a]������0�3M�d,`�l��)M��ʪ���B�5y?�6
����ӌ/s8�i�b��`^��d�1��n
����J�E���+�)�
C¾��I�6����SP@�'�7sk���l06қ���Q�����>��@<b
aL�<��ؼ5j�u�(ܖ��SpT��%ׅ���Hu�7X5�!�]nT��ܚ�I��ڼ:Z�8E�z�=yK'�66����X4�SO�`�Gnk��jO�9{_�5V)�TA|��뒨��߮�B�f�${�M�sj�TFJ�8��	ԣ	�6d�z��_R��I�ShK���y�S�'7�����SwѨ<�0���D��?a�]��
����0�����p"@J�e!��6o�XA�Oʛ�-�{��-̟M���`�J����
g��9�p.:�����p!:\���%�V@�V�'&g骪��,RfE�v�B�
��9VCd(�,j�֗���*c9����J�E�^+F�~�-�k]��}�
ߴ^�w�R}o=��"��W�E�.�Զs�l���P�P��Q=�wlb+@��7���^*�ؓRZk�>�)�N�7m�ݤP<���[����W?�,A�Dm��9kV��|�	�ck^�����䊺�>I��ù���٢�a�[vm�4s�$�v�5o����2Պa�kW��`��u�ì���Jy�(��S��WL�V
R�*⽍ϘC����Kٜ����Y�0��`�@��-��D�;Q��`��mH��ܚ�.T2�ִ�&!�kOY�o��3݉��to�9�ώy���<�d���Ry�/��2�d>Ve��Nd�]��7�ϼ[�Qs�=`K�,�l
M���*�MleXV�ʆ}y���U^_��̛-����UR�t��(��{x��O1�`a�x��s^��͕nu�˰<"j����u��C^���Z<��#۰vC���@���0�w8�u(�J%�fn��1$��ѻ�8Zȁ�D�d<ET���!9#�'�sD���"�x�P�8�/
��C�
W��5C��0���$x���M�#rG��O����F'��}����C��#��c����S���`3x���O�2_�.���6���+'���B�����V�������n���}���3%�ҋ�phn��6��m���I	��$�A����n��s:�(�ߔ�����W{���V��SPkl���o!K��u��L��h��-×�B��ya:����I�,D�����"δ��M<�n��"AY��N\��i���2�:��~\M)���H����C�{��C�kl�'D[�H�>��R�yzv�cb���I@	��\�Ν�v�l"L�H(4�sEu���H�����;��w���n�F�D��2��+������/!ځ�'%���2¶�v/��:��Ƶl�VtW��6��y�n��d�ֽ�C���Α=�[��Xy�0JJi�|��,�$��GK��X[��:�Rg�#�5�ӄ�r�����@x�E��<��K�3��^�\���.��q��Mڧ�m���:�&°��q)�:�;1����=����u�l1���΋*5z6��s���VjKP�p���G���X��^�qi����r
ʳ����]ɺ���U�r��`���- iF)
x�
͟�|x���G�?���f�F�8g�4c��'�a
$�A��ʹgw���x��o�j/o�BY��6)W�0L�3�}q�x��8���Y[*$+�iKKˤ�l�2�t�'��u+�)���g�"�ym*�G��R"��5�68����8��<�D���9B,�+y1D�01Yg2*�ghuy�\�PY�ڥ��X`F�ֽ�8���>&sX+c��h�x���q��2�����X��
��\#��N����;��B%��vj�RP_'�$��C@��@7��՗�V��ǁ�!Ѽ�?�z���~*Zф&�0y�"��[L�	�e+x�$�_�2�d�a�Ylh?RH��^�b�Tp�ٝ$S�V=ZB@��v�-�٬U�Ji7��4�P$���Ɲ��Y�?�m��L�?@��}Tf>���X�*��F�֛�n�J�+�ča$���7+�M��E��������yY`.�n.,�y�=�[Z#��^����_h���'�{VI�Iο�ܫ�3)�������x���;�go5�����q�����#��y"%�ڔS�R�*z�A���C��L�>ΖT�:�z�-b2�w�1��=ƚׅ3kE�x[�:�֧�+9ّ#�Ҏ:k6�Q��.��*����Ys�H9�%&j����A�<�ș�3.|y���7����a!g�:����Z�i�FcuB�j�
F�5�v�"�:7�\��P^�Η����C��Ͻ����"��MDq���gwg��0��ݷa����ι�D�41j�&�@�/�9�q���ֺ96�����#�o��:o
�\������+N]��"�{����#	�����������ɑ��2�n���5����P�v���ϡ~Q{���O#��;c��ʏ�&�3p����G�=��y�K�N݉�
����px��q,���L{.�+��	���}�=
m�Y����ݮ>�s�	���Š=�����,�J��C�}��|}@O䘻�v����SS��]����u�V��P��SS^�i��P
!3�
�8&5�*jyq�2�D�D�ؓ�7�wFM�	�Q�2.̻��末�γ~Z�1!�qg��	�é�C��n!���و�x�?�:�7+��եo*�Ȃ�mŅ�|d��py�E`y�vt,⇔��z3ҜH�����s�����$����1颱���;�l���krMLJ��FF'&d�4P�R&CC{!,"�s�y�SV�,Å���q���T;'��`v�)Z�p�ªE�8;l�}�m�M}��
�(�W���Z�k����9A�;\G�f�slld<��ik�FEzu�^�w�K�u��ª��
����uNirJ�)o޵k������ßm��/�?�r�Q!��%�9�⹲��m�D3q�S߃}ܾ�:���SnQ:S\��^_�Y�A�<�F��rY<�K/�
]�Y�bڋ��i������B?$�NMŕ:�rФG��^�>�]�ۇ[����v!�?�g�z��k�v��]�Yv*mŒ�s�[Y纗\J�>�]f���.�>�RyU����U᫚�"�;Cu���U��f,�*Դ��ûSi����v�@��SK%�!�$�D���ko(�%C�����`Fd��Q���Υ�pID9/-9���*���y�}J�S
�o'1�o�QP�8��	It��!M�߸>����:o��L�Ґs���\�0�/�{c�}[<�j��Q��iAUA[����qɔYQ6S![L���q��3���t�/p3&X�	���ql]6�σ�\�	����oOO���eQ�y����܊}z�^��G��߬�1oֺd�\���E�V{��Ե�
�e*�U�H��#�i�'h�
+��\h(k����ki�:ˇ3�	al����iM�=g�W9
�����<Tm����B��;�<��tl�3xlo�@�v���Zj�b�\��7�8rMIɁh���io�[�NNО�yh�=f��>�}r�;u�<!sZg����Y)I�.�I��ZMQ�2=-�B˃���c=}�S�>���K{���;��
�R���طחLJ�)�ß[��&�Cc���ٲ�#X��
�

y���L�AL��dYY_�����u�4	$��k!����]����Gf�1pC��O�?�Q��R��y�
�NL���t>�a7}1����^>��4�MYdq
^�:SK�kO���D"�T�����I��
���"�	��l{�&V��@˳���'tDEԗq�9�	�Y�b�5k�㧗G�]�-���p"
s�]Z{L�&��M����v���3l²��T�s��e�G�0��z$

��	�m�n��8��wI&&I�^:Tj�e$��pJUjt�8�����{(��)�M5��dK���>��^�Zo��{�@`!���
40pj\E�xp���D"�
��������ܚ������<p�,X̢���A��y�]S�%��0L����0o��zgUG�ev��	�p�
b�@P&m�����IA��7K
���a�����JE�0�͒f�$�~D�Q���5a����]O��Y=�`�.�N6?�ir�-����+��<b?��Yq��<��H/F�t�tr�X�	X�r�N׶)�rplӷ|ѣ�J���5��13�K>V�������xA���,[��yK�6`��q�89�i��-�J���������)�Ki*���e���a�#����mj#�(��@5�(7
o��;v�߷�n��9?�i���ߒ<&�.5.�s���o����G,/�\w�IBE<��O�>�"-���l���8)`�;i;ʄ,��8��pSȬ�R�vN2t��I�sM�#�`	���$��
�9P���Z�yX��{-jh�g���յ�Z�������5�%u�����Dn��3��Z���Y�H�kЪI�r�<,
��@0>%Zy�bە���f�W�U�:Gd�:�,�ʚ'�iu��Uj㪕��[�kbh���T�ː���Ty�IWJ��
�c�B׍��Kߡ]�P�YH�R���nZ���
_�6WVQ��:h�J�'��pztۦAp�vBL��G\�ė@B�$�DR�r�5��Q�F�''m�,�)��4wS�T�y�N^	s	B0zO�1�x�;�4��:<9(�6�vk��H��:���t���(�y�BUx�N(m�F��x,��!p�K��X\n���Dž�qtV�8܉q��-��
�y��s��G8���EKN{@M���V���&b���>�(���Hz^��k&���h1��css/icons.css000064400000005544151165074460007202
0ustar00@font-face {
  font-family: 'rsticketsproicon';
  src: url('font/rsticketsproicon.eot?37506999');
  src: url('font/rsticketsproicon.eot?37506999#iefix')
format('embedded-opentype'),
       url('font/rsticketsproicon.woff2?37506999')
format('woff2'),
       url('font/rsticketsproicon.woff?37506999')
format('woff'),
       url('font/rsticketsproicon.ttf?37506999')
format('truetype'),
       url('font/rsticketsproicon.svg?37506999#rsticketsproicon')
format('svg');
  font-weight: normal;
  font-style: normal;
}

 [class^="rsticketsproicon-"]:before, [class*="
rsticketsproicon-"]:before {
  font-family: "rsticketsproicon";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.rsticketsproicon-clipboard:before { content: '\e800'; } /*
'' */
.rsticketsproicon-folder:before { content: '\e801'; } /*
'' */
.rsticketsproicon-users:before { content: '\e802'; } /*
'' */
.rsticketsproicon-user:before { content: '\e803'; } /*
'' */
.rsticketsproicon-chart-bar:before { content: '\e804'; } /*
'' */
.rsticketsproicon-arrows-ccw:before { content: '\e805'; } /*
'' */
.rsticketsproicon-mail:before { content: '\e806'; } /*
'' */
.rsticketsproicon-cogs:before { content: '\e807'; } /*
'' */
.rsticketsproicon-briefcase:before { content: '\e808'; } /*
'' */
.rsticketsproicon-search-circled:before { content: '\e809'; } /*
'' */
.rsticketsproicon-terminal:before { content: '\e80a'; } /*
'' */
.rsticketsproicon-chart-line:before { content: '\e80b'; } /*
'' */
.rsticketsproicon-attach:before { content: '\e80c'; } /*
'' */
.rsticketsproicon-star-empty:before { content: '\e80d'; } /*
'' */
.rsticketsproicon-star:before { content: '\e80e'; } /*
'' */
.rsticketsproicon-attention:before { content: '\e80f'; } /*
'' */
.rsticketsproicon-docs:before { content: '\f0c5'; } /*
'' */
.rsticketsproicon-magic:before { content: '\f0d0'; } /*
'' */
.rsticketsproicon-doc-text:before { content: '\f0f6'; } /*
'' */
.rsticketsproicon-lifebuoy:before { content: '\f1cd'; } /*
'' */
.rsticketsproicon-history:before { content: '\f1da'; } /*
'' */css/index.html000064400000000054151165074460007341
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>css/magnific-popup.css000064400000017756151165074460011015
0ustar00/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content, .mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close, .mfp-arrow, .mfp-preloader, .mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #cccccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #cccccc; }
    .mfp-preloader a:hover {
      color: white; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close, button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none; }
button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: white;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }
  .mfp-close:hover, .mfp-close:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-close:active {
    top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333333; }

.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: white;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #cccccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover, .mfp-arrow:focus {
    opacity: 1;
    filter: alpha(opacity=100); }
  .mfp-arrow:before, .mfp-arrow:after, .mfp-arrow .mfp-b, .mfp-arrow .mfp-a
{
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent; }
  .mfp-arrow:after, .mfp-arrow .mfp-a {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px; }
  .mfp-arrow:before, .mfp-arrow .mfp-b {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after, .mfp-arrow-left .mfp-a {
    border-right: 17px solid white;
    margin-left: 31px; }
  .mfp-arrow-left:before, .mfp-arrow-left .mfp-b {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after, .mfp-arrow-right .mfp-a {
    border-left: 17px solid white;
    margin-left: 39px; }
  .mfp-arrow-right:before, .mfp-arrow-right .mfp-b {
    border-left: 27px solid #3f3f3f; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }
  .mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px; }
  .mfp-iframe-holder .mfp-close {
    top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }
  .mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: black; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }
  .mfp-figure:after {
    content: '';
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
    background: #444444; }
  .mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px; }
  .mfp-figure figure {
    margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen
and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
    .mfp-img-mobile .mfp-bottom-bar:empty {
      padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }
.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }
.mfp-ie7 .mfp-container {
  padding: 0; }
.mfp-ie7 .mfp-content {
  padding-top: 44px; }
.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }
css/main.css000064400000011773151165074460007014
0ustar00#rst_files_container .rst_file_block {
	display: block;
}

a.rst_flag {
	background: url(../images/favorite.png) no-repeat;
	display: block;
	width: 16px;
	height: 16px;
	padding: 1px;
	margin: 0 auto;
}

a.rst_flag:hover, a.rst_flag_active {
	background: transparent url(../images/favoritehover.png) no-repeat
!important;
	text-decoration: none !important;
}

.rst_delete_ticket,
.rst_notify_ticket {
	margin: 0px !important;
	padding: 0px !important;
	background: none !important;
	text-decoration: none !important;
}

.rst_categories {
	list-style: none outside none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.rst_dashboard_items .thumbnail > a {
    display: block;
    text-align: center;
}

.rst_dashboard_items .caption > h3 {
    text-align: center;
}

.rst_dashboard_items .thumbnail {
	min-height: 200px;
}

.rst_center_block {
	text-align: center;
	display: block !important;
}

.rst_center_block ul {
    text-align: left;
}

.rst_dashboard_center {
	text-align: center;
}

.rst_dashboard_kb {
    min-height: 250px !important;
}

#bulk_actions th {
    border-top: medium none;
}

/* media */

.media,
.media-body {
  overflow: hidden;
  *overflow: visible;
  zoom: 1;
}

.media,
.media .media {
  margin-top: 15px;
}

.media:first-child {
  margin-top: 0;
}

.media-object {
  display: block;
}

.media-heading {
  margin: 0 0 5px;
}

.media > .pull-left {
  margin-right: 10px;
}

.media > .pull-right {
  margin-left: 10px;
}

.media-list {
  margin-left: 0;
  list-style: none;
}

.com-rsticketspro-has-top-padding {
	padding: 1em 0;
}

.com-rsticketspro-has-top-margin {
	margin: 1em 0;
}

.com-rsticketspro-has-margin {
	margin: 1em;
}

.com-rsticketspro-has-overflow {
	overflow: hidden;
}

.com-rsticketspro-avatar {
	margin: 0.5em;
}

.element-rsinvisible {
	display: none;
}

.rst_custom_field label {
	float: none !important;
	margin-right: 5px;
	display: inline-block !important;
}

.rst-magnific-popup {
	background:#ffffff;
	margin:20px auto;
	padding:20px;
	position:relative;
	width:80%;
}
.rst-magnific-popup iframe {
	width:100%;
	border: 0px;
}

@media (max-width: 767px) {
	.rst-magnific-popupp {
		width: 70% !important;
	}
}

@media (max-width: 480px) {
	.rst-magnific-popup {
		width: 85% !important;
	}
}

@media (max-width: 320px) {
	.rst-magnific-popup {
		width: 95% !important;
	}
}

#rsticketspro_remove_data_and_close_account {
	display: none;
}

.pull-left {
	float: left;
}

#rst-timer #timer {
	margin-top: 7px;
}
#rst-timer #timer .clock-wrapper {
	display: flex;
	justify-content: center;
}

#rst-timer #timer .clock-wrapper span {
	font-size: 30px;
	font-weight: bold;
	transition: all .2s ease;
}

#rst-timer #timer .clock-wrapper span.dots {
	margin-top: -5px;
}

@media only screen and (max-width: 768px) {
	#rst-timer #timer .clock-wrapper span.dots {
		margin-top: -3px;
	}
}

/* outer */
.com-rsticketspro-progress {
	height: 20px;
	margin-bottom: 20px;
	overflow: hidden;
	background-color: #f7f7f7;
	background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5),
to(#f9f9f9));
	background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
	background-repeat: repeat-x;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	filter:
progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5',
endColorstr='#fff9f9f9', GradientType=0);
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* inner */
.com-rsticketspro-progress .com-rsticketspro-bar {
	line-height: 20px;
	padding-right: 10px;
	float: left;
	width: 0;
	height: 100%;
	font-size: 12px;
	color: #ffffff;
	text-align: right;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #0e90d2;
	background-image: -moz-linear-gradient(top, #149bdf, #0480be);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf),
to(#0480be));
	background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
	background-image: -o-linear-gradient(top, #149bdf, #0480be);
	background-image: linear-gradient(to bottom, #149bdf, #0480be);
	background-repeat: repeat-x;
	filter:
progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf',
endColorstr='#ff0480be', GradientType=0);
	-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: width 0.6s ease;
	-moz-transition: width 0.6s ease;
	-o-transition: width 0.6s ease;
	transition: width 0.6s ease;
}css/print.css000064400000000341151165074460007211
0ustar00#ticket-global-message {
	display: none;
}

#ticket-buttons {
	display: none;
}

.btn {
	display: none !important;
}

#ticket-left-column,
#ticket-right-column {
	width: 100%;
	float: none;
	display: block;
}css/rsticketspro.css000064400000013524151165074460010620 0ustar00/**
* @package RSTickets! Pro
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

.rst_files_container .rst_file_block {
	display: block;
}

.rst_notify_ticket {
	color: #ffa500;
}

#rsticketspro_dashboard_search {
	text-align: center;
	margin-bottom: 2%;
}

.rst_dashboard_item {
	width: 30%;
	padding: 1%;
	float: left;
	margin-right: 1%;
	text-align: center;
}

.rst_dashboard_item [class^="rsticketsproicon-"] {
	display: block;
	margin-bottom: 3px;
}

.rst_dashboard_center {
	text-align: center;
}

.rst_dashboard_kb_item {
	width: 30%;
	padding: 1%;
	display: inline-block;
}

#rsticketspro_searchinp {
	margin-bottom: 0;
}

#bulk_actions th {
	border-top: medium none;
}

/* media */

.media,
.media-body {
	overflow: hidden;
	*overflow: visible;
	zoom: 1;
}

.media,
.media .media {
	margin-top: 15px;
}

.media:first-child {
	margin-top: 0;
}

.media-object {
	display: block;
}

.media-heading {
	margin: 0 0 5px;
}

.media > .pull-left {
	margin-right: 10px;
}

.media > .pull-right {
	margin-left: 10px;
}

.media-list {
	margin-left: 0;
	list-style: none;
}

.com-rsticketspro-has-top-padding {
	padding: 1em 0;
}

.com-rsticketspro-has-top-margin {
	margin: 1em 0;
}

.com-rsticketspro-has-margin {
	margin: 1em;
}

.com-rsticketspro-has-overflow {
	overflow: hidden;
}

.com-rsticketspro-avatar {
	margin: 0.5em;
}

.element-rsinvisible {
	display: none;
}

.rst-magnific-popup {
	background:#ffffff;
	margin:20px auto;
	padding:20px;
	position:relative;
	width:80%;
}
.rst-magnific-popup iframe {
	width:100%;
	border: 0px;
}

@media (max-width: 767px) {
	.rst-magnific-popupp {
		width: 70% !important;
	}
}

@media (max-width: 480px) {
	.rst-magnific-popup {
		width: 85% !important;
	}
}

@media (max-width: 320px) {
	.rst-magnific-popup {
		width: 95% !important;
	}
}

#rsticketspro_remove_data_and_close_account {
	display: none;
}

#rst-timer #timer .clock-wrapper {
	display: flex;
	justify-content: center;
}

#rst-timer #timer .clock-wrapper span {
	font-size: 30px;
	font-weight: bold;
	transition: all .2s ease;
}

/* outer */
.com-rsticketspro-progress {
	height: 20px;
	margin-bottom: 20px;
	overflow: hidden;
	background-color: #f7f7f7;
	background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5),
to(#f9f9f9));
	background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
	background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
	background-repeat: repeat-x;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	filter:
progid:dximagetransform.microsoft.gradient(startColorstr='#fff5f5f5',
endColorstr='#fff9f9f9', GradientType=0);
	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}

/* inner */
.com-rsticketspro-progress .com-rsticketspro-bar {
	line-height: 20px;
	padding-right: 10px;
	float: left;
	width: 0;
	height: 100%;
	font-size: 12px;
	color: #ffffff;
	text-align: right;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
	background-color: #0e90d2;
	background-image: -moz-linear-gradient(top, #149bdf, #0480be);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf),
to(#0480be));
	background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
	background-image: -o-linear-gradient(top, #149bdf, #0480be);
	background-image: linear-gradient(to bottom, #149bdf, #0480be);
	background-repeat: repeat-x;
	filter:
progid:dximagetransform.microsoft.gradient(startColorstr='#ff149bdf',
endColorstr='#ff0480be', GradientType=0);
	-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: width 0.6s ease;
	-moz-transition: width 0.6s ease;
	-o-transition: width 0.6s ease;
	transition: width 0.6s ease;
}

/* label fix, only for top level items */
.com-rsticketspro-spacer label {
	font-weight: bold;
}

.rsticketspro_clear
{
	display: block;
	clear: both;
	margin-top: 5px;
	margin-bottom: 5px;
}

/* standard form style table */
textarea.hidden {
	display: none;
}

#rst_loading { display: none; }

/* new */

.com-rsticketspro-has-top-padding {
	padding: 1em 0;
}

.com-rsticketspro-has-top-margin {
	margin: 1em 0;
}

.com-rsticketspro-has-margin {
	margin: 1em;
}

.com-rsticketspro-has-overflow {
	overflow: hidden;
}

.com-rsticketspro-avatar {
	margin: 0.5em;
}

/* media */

.media,
.media-body {
  overflow: hidden;
  *overflow: visible;
  zoom: 1;
}

.media,
.media .media {
  margin-top: 15px;
}

.media:first-child {
  margin-top: 0;
}

.media-object {
  display: block;
}

.media-heading {
  margin: 0 0 5px;
}

.media > .pull-left {
  margin-right: 10px;
}

.media > .pull-right {
  margin-left: 10px;
}

.media-list {
  margin-left: 0;
  list-style: none;
}

.rst_editor {
	float: left;
	width: 60%;
}

.rst_text {
	float: left;
	clear: both;
}

#rst_conditions > p {
    clear: both;
    float: left;
}

.rst_condition_if {
	float: left;
    padding-right: 6px;
    padding-top: 6px;
}

#rst_conditions {
    width: 90%;
}

#jform_time_spent_unit_chzn {
	margin-bottom: 60px;
}

.rst_custom_field_label {
	font-weight: bold;
}

.rst_custom_field_value {
	margin-bottom: 6px;
}

.rst_not_flagged > i {
	color: #0303;
}

.rst_flagged > i {
	color: #c35b5b;
}

.rst_button_spacer {
	margin-top: 1%;
	margin-bottom: 1%;
}css/style30.css000064400000000433151165074460007362 0ustar00/* This is
only used for the 'No matching results' alert */
.alert.alert-info > .sr-only {
	display: none;
}

.icon-rsticketspro::before {
	content: "\46";
}

#bulk_actions > div {
	display: inline;
}

#rsticketspro_dashboard_search .btn-group {
	font-size: inherit;
}css/style40.css000064400000000604151165074460007363
0ustar00.icon-rsticketspro::before,
.fa-rsticketspro::before {
	content: "\f590";
}

.dashboard-button > a {
	text-decoration: none;
}

.pull-left {
	float: left;
}

.pull-right {
	float: right;
}

#ticket-info.card,
#ticket-time.card,
#ticket-submitter.card,
#ticket-history.card {
	margin-bottom: 2%;
}

.rst_button_delete_ticket {
	text-decoration: none !important;
}images/admin/back.png000064400000004760151165074460010527 0ustar00�PNG


IHDR00�`n�	pHYs��~�	�IDATx��yP�wDZ�vw��������ݵ���v�cծ��{�UPTDAD�����)�Cnrp&�$$!w�M�}	��M(��v����<�?�g���>������^�z�5gvv�gg�y-�8f��!7�c����8$3��z���4L����Z�9=3��@�47�aL
��EH���X��R;��k"kk�v�5
@>�P�ݲt@OM@2>=Z�{�
6��&gFG�c��6�uj������q߄�`��5�,�8�g���i�uRg�
O����X���ͷ;䘝q���T�7��i�6�"��o|(2�źQaz
]���Z��ˀ"�H{dyh�1N󸶐��8��͓2�(S=�$��ยY��H:�B�I�q^����y'��noWD�%u{��>�����A�$��r���/��r�r�SU`y�P���6��F��H�V����g%H�D�]h�TO(����q���d�E�1�aL`��Gy:[�n���q�6����٘@��R'�j�7Ei��f�f�Ә)�8L�x���7�6M�ξ,
�#�v�,h�0J`n���`Lc�XG3���{�U]%Y[ѭ)'i�5�]�����*ī
p*(V�����T�v*s\1%�p�P�E�8}h��8�����!���X�8W��$�����Bk����77�\3�3c62M���:���f���8Qt$m��CSBP��D>V�<���Pd��hY�����@���,C=�y&r��ffv���4U
��
j�d
G�|+\`��Z��
ls=k��9XM7U�*��r���[_J�w����U�èr:�YhE&Ji���di�#[�I���&�md_Rr.�����x@
��nuQ.�.��9�nk���ވ{���N�8�k���r�k��*���1TN,��R��݆B�>����k���NUV�*�LG)�m�YRs����-x_<Lr�Q[/Ջ���j�5��j~x�
�Z��w#OϢ��I
O���O�0J=A�ֱ-�X��s	m��j*$���<�!����20��uJ�ڦHn�'6��
���0�Il�$�VU#���?�U�/��.����rϕpϖp���g���u��/B��K2�@@��(���=�r�$�c+e��gYJ��4s!u(�l�#�r	�l�!��tj�ڔvuR�*�Ey�I�����d7���}1��k��+UˆJ��
AH?�>/��X�	(���
X���P�O���7���S��bP���H4櫦ZH���<!
�u
��Lw1�;h��v]\��F��P]�)�6�"��j��*%�E�e�s��"���)(��=��֑,�2�i��={R);S�ۓ�[�voN$m�Cڐ@\�k�VC�^wI�}�ׄI���l�mC�p�9�>�AP�9]��T��ɼ����%�D�r�3y�霭i��I̍wh��k�)��w�8��a$neX�P�{!��w���ly=��5����F�r
���q�q��y�{���Gc�7��8��m�0qCR{��Y�fP�.���֨�T)}+���-�;R
>�'ܟ�ߓٻ�ݞ�2��E"mCB��x����A�O�E���k�K�^D�>��7A�o�ky�l�/��~v�?�K���No\�Y�m@J���v̭WhE��V�M�ܠ
����NV�[�"�	��R�.�~�vP�ϵ�~����+�)���)��H�МC��kfvn��t�<����(O�*�z/��޳А�S�r^T
}N��2����n�
%��J�lKeoIfl�K�t�g�Mʚ8ҪX�ф���>��]�Y�����m�o}+��W�Ϳh��?��ӈ���/�F8u�񥫘?�`����9�в)��X��JqX�1�\~�Xzp(_|�`���Jbm����#�$���U��܊˝�t,�������hy�Lӫ~ȗO�j٧��X�����С����c��a=j�k��2辙,o�\�8�/9�����@��0YL]ߕ�����J��r��R~`q��t��>~�u,��M?�E?�I�����Sw�Q<�T�R�;�9�1ص�oZ?�n͸���R�v���A
ׄAE�s{s�{3y�RY_4+⺶��օw�]�5��Xty�V��Ց�
k��)+�}ct�G�	�@�]�j��������s���^��l����?iڝ�'��������O�L}��zv~uF/�7�"��cJ�>@��v<�Y����en&�`�e��V�#��)�5}
��Ky/[d���U#�w��i^����2P4v�-`=��G�+}��Fqk�8�����r��=�ih
Ev����K���Us۷q�&Nq94�|��~�������z���_����п,%gV��dIEND�B`�images/admin/bg-button-green.gif000064400000000144151165074460012577
0ustar00GIF87a�x�Q�Z�p�L�E�H�j�d�m���Ja�W�,P)@�#���G�$�(J���p;images/admin/configuration.png000064400000005764151165074460012503
0ustar00�PNG


IHDR00�`n�	pHYs��~��IDATxڝ�gp[U�E	,C2��IB	��%di�42!CBI�,�G2����?��av�
=v�nc;�e˶,�K�J,Y��luɖ�.�}�=���3�ruuν�}���9W��a[ZZZ��"�6��5񹰰@���yz^��0�≄���N�}Ӂp$��s�T�U�9�ͺ��@
@/�.�bY�1�dMk�/5}{��?5�?6�6w�$*]8#�F7���C�
8�N������&@d��;�1Z��o�>�6Xm�"�O�m?ַ�u�B�v��&�F�߯P(p���斡k�X\\\��0����֋-���T���҄B!�Z
�������D"A�B:��e���L&_(�/
�1�t�d*��;��ٛJg�EyL���
�F��d2YSS�R�x#�op�/ә,�4ON�����J�LE�7��B��|�rww�������\&4Д����m`hנ�3�_�8�5�xTWW���5??_��B�*��c�w�l�Pd�h��C
�)�gx�Phã�=���H"��*�/�i�ds��dau�����Ebq�@
�����S���+��D�Rji�M92��^���b��Dn�9D�#�C��؄k����ܠ�j��A��t�2	V,K̥�Z�f��SC�J?J���A�-�6t
�!�:�[aZZ�MιI��ɐh4Js
4��:UY&V�-z%��F�3��ئ1rc���!����de��<.���`Yi;$�A.
}�
j͊B�|�X����/�(�L��Xm�:z�J�g:
����˄@/�&�I�R���66��91��J�ݢ6�@�L-׎�I��Ggf���u�u;\�q���i�t(�R&�]�M��T<�������̊BH�xE�&�':ɵ�_��/\n��ZlN�����1���T���F���T�?�Ioۄ��Jo+���$��Ug��6��zӈyltl�Vf�)��&�R(CytL�C�CS�S|�������;DC���t���z�2�aP��?�zX��h�U�H�5���a)����pj�S�Y3	(8qM�7���0	p���O�P��e:�L��Mz�����g����FC$N$�MMM�B��os���H|�suj���j���m���{����~�:\ƫv��&=�Vggg��;8���"U�Sk+D�ٜ���!�I8��k����~�k޾c��m��/���m҇Śm�56��ju�Y�����m��D�+��j��X��i���+nguSg��#G������:��0������V]��TCS3J6������3�r��w��r��>��F-]}��39+(��o���[n���[���?m6[(�M�����IUN�/9��Z��[^��}
q���v$�h߁C@��kn���m۶=��<�ȶ�[���B�p�ҥ��F��"������̘�J��nS2��DŽ�Ng�8~4w�q��v���?��S�:|��;���g�98]�ݩ4�
Rϐ��%X���:C�j�i�55�M
Z&�y���As��w?���P��;�ЁN�8q����>��O��[S[��_��6�қE�*�L%�T��)�\�dm�Hb�Di�x≗^z�駟~��g��^x4�~�����n߾���:l&=>��`&:9��d�ē�1^�w��h��|�(�+�����޽�ȑ#pj׮]���:h>����>t���G���x	S�T�z�M$�1�V�qnޭ�@�9ť��{(
���o�}���7�|�;v��9x
�z�m�)��D*�*��R<1����;A%
�z��w�6��Ҝ:u��^C�ď=�؞={<��O"�0���X���o�0�≭l�i7λUS��3gά��ɓ'�ꫯ~���w�y
�ܹ1��Cmݺ��k���o��,�H���$U�i��L�q�着�GP�t��p�j��}��Q��
�$�F��o��d�a�>��d���Jy�(�S�|��F��T�6��#��lBg�P���"���ZVm4w
H�C4>���J��K:��O0ޥ�N[:��Z�m�I�I�R���ͣ�>�s
U�Ks�]w�D"nHb��1uJeZCL�܊Nz���I����j��ڮ`-�e�,��ٳgi�޼(&ڀLjbJ#�i	�р�5vvX���:a�&�́5�X��Z��$���"��Xl�+;5Ʋ���믿3�z4І��ט.�������bvS��L�5�)�01:Yǝ�n�oz*$���jwҸf���!σ>�8E&Ӝ���h�
��WHVtҳLx7������b�7���1G���6������Z̋b7{��%4�upp�:ŝ)y[z�a��ЍZ�u��K�
76����&����ӧ�lق�a߿�[o����N��'����
��g�"t���K^���1]uL2����d!{�0�D6G21t��(��z�gPv�=�Z��#�QL&�J��d⽟@�+��b������܁�qCGϕ	Ԛ��3	��ae�n����{	�r�P!����σ9�(^ϩ��V�ˡ���	iH������S�g^5O��K�����J�/��"��L�OL�!���S�4”L��T:�ӐR�ݦ��Dt_u��=�˓�d��iO*umm-��X"b^~�eD4�`W���ޮd�*�	��٤��j�l�
���NҞ�-~A*�$�a9��H$$��c=�r�':�y�T,�r^�5�5�^;jEѷ�K��
1E��|���_|�EGG���
������j2��u��t�R��J�B����2��_q?���3�`��nw:��'��~ls���Tj�{�kar�,�TX�`����v�'&&���	��b1�ͣl3��လ�O�n�!��P��P<�������w�|�h.��,V�萍�E�`�2aG"5��&We[�xۼf�+�B��T�IEND�B`�images/admin/dashboard/back.png000064400000003075151165074470012455
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��ZkLW>3���ee��<����
�-*�(j����P����5�Sb�����6���*�1MS�Fc��&�36�FZT�E�V�}�c�l��
8�lv�ē��;w�|�{�w΅�F�0���.3�i�n�%�ϝ��F]�J܃z�3Y/��!?
Q����af�'ڝY��V����y��q����=7n�~�x��26�쩓Ɔ���C��zA�¦��a��2`�YYy�vK-l}����F;����Q|ʙ����
���a�}~(@P!�@�`xP��\.(+_F�}A�QM�E|��o�r�m�^�1���F�QE&E`>��9�C�)�~o84�s����mu�HD�Jлꋪ�2����,m��%(n{��u�z�����N���O�}pj�X��<߱i�f0�&��EI��az�o���L܉�
`�;
�����G�(����Q
Pò�O5�ց#ө�4*ѿ{���'�'`	��굫`Nn��yQ�0�&�<o����NԦ�ꪆ����80���/%�xY�d��d^����z%��׮j���~�O%$�ڋJ�݋�C(
kII��*���xBHsm]��$����+?�����	d1>�{�6�	�_�О��g��^��ag�s_���=��&�#�����;�DV�$�����^�s�,�-��Q��ʜupEuȒ
R8�4��pPEUp'"��GF�ٸ��v�����)����[[+���l/e���s�U����<ʖ/�X�4�4�L������)E0�t�3�Q�^V�WL�����˪���l�E�r�B��@[X����a"�������<EH	��mZ�h���*Ƽ��]���x���{�wΗ���x�HK1*�=�\@�����;�KJK���i��O?��څ�p�t����(F�#����P�ꥱ<U"�D"�lo__k~�ގт��}�b�BW&n�%���{pnA�$f<�RC�G�����z��!I����\	�|��#sӑ����w�!�æ����������9p�6�XIi.|����|�{�/%}��`
�y<�‰t�,*@0�����2��޾-�ߓ��VK@<�
-Jt)�����X���ֈ�}o�{RYR��FF���t�t����2��F��${�ES�m-ޠ�itd$QZ��������#�V��=x�a�7#z��Qw"#Y�u��}SZK�M%#P9�����PE?��МR�v�7w;�
���,4VG���K�"�-@#F��:<١`��f�ś�ITM���ކ��2�4���_�D�u5�{�t8��^��C*Q����r�Z�ԆcH:p<m�[y�~�M�$�{�f�$��-U�-U�TkO���:��9rNV�&�/[��PC;+#*=^��}�d�%�oB��!�&�tO0&aa^���+ӓ��4"��ُfIEND�B`�images/admin/dashboard/configuration.png000064400000003566151165074470014431
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�ԙKhI�kb|��'�$�
�(����\��AV؜��^ֽ�d/��]����\�a�,��)�L"*!	
�4�������+�ǚN�tOg�~�tW����5���)�-C��ơ�r�\5i�
z��y����`���E��@KKK񹫫+=gΜ���fUWWW��޽{^ww�����n�S����\����Q������s�<�Y�F544�5Uw��@
	�]�j�z���K_�J�ԢE���j&�JN
#��÷5̚5���.\�>}�4�;
,[�L�1k]��j+prŊ�۷o?*��#�l�?Ν;W�9s�m���k׮U�?�F��Ǐj���J�dX��u��<���8#��ɍ7f=��GGGU>��5��C��J��gϞ9	qO�<Q}}}�5Y��o����������0�*���(
�_�|���`���"̕���zkX���ڒu7n���(��ݻwz
k�)'�z�٦�&�����_ߵk�~�w���m`�ӧOu��
���x�B+o᛽��YSG*�BG�r�
%E�r��GQ�K����ׯ��Y�ԁ�;w�,�'�t��X��}�w��s�.�8tr�;<z�H�X�3i�|����r�K�1���Aj&
�
ϼ�kX�J��x!I�L���	2��B,=44����"��ֲ��at�	��/v%�b��
���"{|%���U��nڴI3�-�ܺuK�}MMM"d/4�e��)j�f�@ۆ
������f���C599Y��
hٴ)f��u�֡E[%
�M�{Z�_�ɩm۶-n�1"IJS�	��3�߼�r큖?<�o�Ν�S�bdj52:�����~�tB�bf���<�]3h�?G���7�zM�������3�E�ܧ%nZ�����"$�q�5TQ��;���oL5��^�z���tIŵ�$%z.QB]�x1T�^4������>p!FR��R�O�.^

Ξ=۞J\�~����]��p�(p)�Ka4��e��2�ahK�>3hB;���(�1n��Q���n��`wM?�&��$0�Z\?�T!y}o���\C��c}#�˅:�\�r���%K���
��6|oReX&:j�Lx�Y��~dd������¼�'Ys+�Y�|y�BT��g�r0L!L��d��^#|���A�P�����`�>`�����ܼy�}˖-�R�?�?vƣI���1�\ik��G��x�^���Ĵ�ō�9�����>�`+ϻw��	G��:1>>>�_�x�.Ľ�6r����j#<�Mb_-���ݱ���4�P%��%Ɣk�&#�S���FàY?�y�fg�z"Y	E�(�����a��Sжn݊����$
dw�ء-B���8	�2��իu3HJ�kϼ�ڑ5�e{]49MN�淆D.�I;�o�ʕ�YT��+�_�r폆����ׂ��AZ�D�B�
��H%��`H���8��(�By���hn�Ib:��	�2�#`�6���Z���J�a%s�����q�m��۷�LMQ�n����U��;1��t����<�^���U��Lj�4xd!�$�={�����c��WQ��d�P��%���ًA��]��#e��()|�B�W�����h�
��(����4��S0�v@�P�@�#p�Po������|�"�g�A�^�u��_��z��
��`5�X;�4a�p0�N\D[9�gFP[Mk455M���ח7��)S��_��z�Wʤ��my��W%�R~���:'E���IEND�B`�images/admin/dashboard/departments.png000064400000001664151165074470014105
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<VIDATx���Kaǿ;;��]J�4La
4���]��ԥ�N�"��x�.b�t��
$R)t�KJA���)%�i�
��?V���;3�l�;�Rڲ骳C�33,��>�̼��d2	=��`��<ۄ�a���V�-��a�@�9�����7;�f���Y�؉;;;��jjjPUU�әq�,��|�$�bCCC��ھ�����D"(����d��fCEEx���@��l�gc5��륥�E�����	��B��p\���u��MN���c��n[�V���m�@"�P%`��x�~]�^�s�z7�5��tP��	09����]�c����	��託�|s��lO
����s�'����@
�.y;m����`>|�	/ǿ#.���ʷ��Iǚ����-]�P�|
�7��Y-�H��>8���MRN?����|ɥ&8��0F۶��&���83LyN�N����*'Mn%fCa���������E��H*$�+�	AZ#���5�Њ��b�"�T�ƒX�ʭX�X?Վ�����J=C�����x/�ZT�j�DWv�Vb`v9��;]8t�\�7���f�	�A���~����u�C��?�D
!�\�-x�a���!-�A��"�m�RL��V;�_�P�eI_��@�(z��O2���Ȁ�ELt�ِ��D�y
�PB�([,�f�A0lw��p9�Q�����&���:�~;����3��,II��mԅ-��K��MMM�s+�yB��Ĕ���p�8��IuI�>�z��ln�����]��
��޵�O�&���o�%�pp��O:�IEND�B`�images/admin/dashboard/emails.png000064400000002414151165074470013023
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��Y�J#Q����[⾠�� �/�
�'�8>�7�00㣟� *3*�����{
;cZ;1N"��N��s�ԭ�{�1��͍>��T*��J�]��.Z[[�˯b4�aC�"8���-�������-)**���H�.����B������S\׋[�/�׃��Jjjj��ӓnoo�����nn���EIIIMmmm%GGG��O͖k�1''�<<<��������+9s���S��P�
 ��%+�0
����4���:������!�jM^���픗�G.�������P\\��4
��Ƞ��Z\\���M���$�N�T��499IWWW�ب�(����N2!}b`RGGO


u
����:�O~~�	���?B���@������JKK#�V��,��4
 �s|5>0�MOOSWW���JY����FGG�����o:MV�B��zzz(11������#
saa����8lccce1�D@����L)���&��?;;���q
���j.XJ�����+++����j$$$�F��8�����^�{���ᰛ�d��P�����B���C{055�i�����{�x�,	(h���ۛD�Ȫ
��<�9��w�]�|[��R���411�׈[��<��}��<�9��w�-�~w������pj�K�M����^�6�!�z��t��)�������M�Ǯ�wwwY�������
��I"ccc�����bXVV����>���p�ĚB�???�w@!�����E�WUUq����c0�Ԛ��E���400`"���b
S�����ՀC^ �ua0Cl(
yxx8WK4W�h)-�!�{�B
�`aa!�����
�V�|��؇��:1�:xm->�t;h�u9�777bPcpp�A;��Rs���
VTTp_rxxh�0eذHk�j(R@�u,���:�6��2�?�!�P����,ld�������ك�uƟ
p����g���U����h�%�X�����CRg��@z6��r��1�
����A����
�P�h���X�zG���ܥa���j�jA[���*�(��Z*�,Z�/�z��!cc�
�XhcD8����ՁR�@�hŵޅ�߱
7��tB��4N��X%�P	��k�u�*B:IEND�B`�images/admin/dashboard/groups.png000064400000004321151165074470013067
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<sIDATx��Zkl��汳;��_�Ԯ�n�`7��hT+H$4Iՠ��"}�TT��'QATAUUA�6"�qT*DSB��	�*)��[������]0���k��;Ϟ;�66~�̮�*W:̠�s�|�{�w,��!���r����q��{=t��
7IH>��쮘i:s��s�pe�D����!��
�ַxk����N���C�Ƶ3�.���6?��aZ�8L#�k���Ɵ6?�UH!�����9@����X�ș�\=s�}ӞǏ���ck@��cE'�d�w�	�7��S��uq
�{���$h����z��vG��yyI�l;_>����Ղ��Һ#�ƳP'�0c�<U%`wx,�[�3���]��0��|�j]���Ԗ�k�,�"\��������e�,g�v��BT�2��|5��#U���Nv�;�Wo;�Q���Ȼ���WBh^	o��Z�����Qʱ@T����^?X���7[`8`�r��yW/14�]��L��ܸ��u����͡ХW����3�vI��kg=&�ewѶ��PߑE�G�C�RKj�
9��@6��!++�&3����~��;������m�mr�;��ފa��+6�h���O;����gi��Ʊ��T/��_���v�n�0LRa��e"��K�?C=#'�������<�&6�Ⱦ�Qt�५�T��:78V~�����!��yF�\bjA�9Q����Ǎ�Ȥ���/;��B'f���l�k9���d�O�㏠�kO@��@��E��.s�R��1���������-*�TA�NM��}s���kD=�m�/%&3�qT�m'���������ψ#*����Q�x�DI�S׆����wi�v6�Ts�y�x�P2���&�8�aF��E�p�{��W��ѽ������F���!���Ҡ���b
K�Med��5;}f��7d��U�}u�*��2��61K
�׼��)��
S��vVK�Q���>x{?u۾��5�&Ñ��>Q�U-�v(
[\4���'7���M=�]`���t���ں�@��9(ji���"�S�L��v�J��+�o��c21Ǿ��Ր�Y=�B3P�X�Ka
���]Q#������Pȷ�ڰ2�6��e��y��p�ʧv޹��$����;�Q]E@ȷ��p5ŀ�����ß�'`5>��(�\p�Y�G��E�k'^�\�^���Á;PG&(;5����E7�̬��6*�u
��h�h4Ǩ�{}�ӟ*�Fc\G������fU'�ށܸ�8��y��o�>�b����B�l$	��M�qԩq����Kj��O�uP�u�I��t�U/���;�~q��×l83����Mu@�k�����Ref&���TEj�H��:v��[T���O��xu�b`F�.��ф��z�:������6�m��
[�_�v�0�
��E
��ԥ��I>R	���'B�\l���Y�(M{�js��Á[��]�J>��I���S���8�E\�ONn���o�2�_�:�8�y�_��"�Q*�vT���GL߷‘�wg��>�����=M[;�i{��3eA�s��ڂ��O!��x^
�6�\��g�*�>�FNI��5���7�f?��?^o�������v�
��S�N���@�,?�=��8*�zz���s%�m�2�A�"H~r���uz&%�eZ���ق䣓A1���?�ф8�zbrU���D+Xo�e?�PuO��Q���_��@�zT�O�k*`�N�RsX��)Q:���^��D3�m�q���v�7�lfE��`T�}ņԭ�/��*�D]-,u�t̕�][s9�94�3�O��l
m=�^�`��d�����s!����䬡���f%E�e�;�
�K�Bs�1-��-J^���x��]���'s�E���.]ͽ�*
Q�N����V�\�����%��&}�r�V"��ôUm�A�����>+ٟ�f�.�<�S���I�wZ7��#(?���(��C��i��,�`�n.���u`��$���_��M^z��A�Ȱ�����Ǣ��
-Z����y�O�m'j}#�rIEND�B`�images/admin/dashboard/index.html000064400000000054151165074470013036
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>images/admin/dashboard/kbcategories.png000064400000002463151165074470014217
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��Z[L�e~K[���e��Ű*�p]j�’��e�Ŗ]�3���!�o��B3
�қ%\�Dc���w%d��8,��Y7
�ȹ����]�0�k��&�����{��y߉���8r+�o
�
����()������%�3,:˳ǜ,�!�[---�b1��n�,�BAcccݣ���mnn���z*++���Z����B����u�\����kmm�Y�}��0��)�ioo'&@��봽�M~�����R�$�ZM���T]]-�������bw__]]u�;����j%��H��^/E"��FL��PMM
�����8q:]�����^��f�Qii)mnn�
���*q���@�>b7rN��[��mmmT^^N�'�u&����)�$�H!xi��OFiitt��d�\q��dJy>��_4�	���,�,3�
,V��`�Q
����N���Ï�����+**�-�赤����hee�x��`6��O���T7�P���^����t:igg�Ga
#�<���%ٝ���NfC)��4	��]G�#i�y�I��i�@cLj��������NGϏ���_�٨E�Ru���H�<�.xq��g1&�����
����D�V�
"uP��6�ho3��L	c0:�:�6`+�"��GೡS�U�8�m����f�y4�
n�2����+�ŷ���aX�y����j@����õ�W�&S��F?�^������Q��Mr�~�y��pHM�0E����:�K�R���
?]�~���&2M\��-?��_����k%��>��p��#p�B�BA��B�"�/�1��[	��+�fT���<w|;a*SJ���
�䶆�?{^��@�����
���I%�F(�K���Kǎ��T!���.{���qZXX
�+q݃=~]]�}0IF�$�B$N���{	ԿZM̬�?(�����ԩ
-��+�鷿<�����PM��M�r�
��f����E��Nd%��=O [[�C
�NH.���E�e{��"�dg7z���~��)�6$/�p���I}����x朙A���<��F
V����7t��H�"͞gΙu�<߲ic�X�#�=��@�H�`	Ċ(F@"�X�G
^����+e���A(�f=ş$�GK����F�Y�X)qŞ���Q��p{�c�^��6���|/>�
��6�
0�,�e	%-�IEND�B`�images/admin/dashboard/kbcontent.png000064400000002267151165074470013546
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<YIDATx��ZoLe��RJ[�k�I���F�es��F]���0>L7��Oƚi�M��&~]���	�fQb�b�>�-3A�f)��k{�?�������I��˽��<��}_�΢(
ֳU�8��^��o��'�}Wg?2��{s���z��h�Q�k��϶|����{����a)�PA�3|������÷�ѸQ��e�Z�ZG%�x�������/���
����k��@Ǒf4�����'�\9��^��9��T�x~�����{~�i��^r�
B��B���8ֽ���vSF!�T��֎�7��W�Ԅ���
��bWX,��U�����(�ύ���7�\zY-�;}�?���x���؊�?Oa϶:�I@=�L�
-���FF���'eF�I�Gq�]�}�T���Wjom�
Ȉŗ�Woi�{�ؽ��:������c��Cp�a]��q��8��k����
���Ȟ��4~,8�Hn�"�U���8X�3Yٴ���ٱ
�DN��'����T����8�d��Fϱk���o�Z	��lV�D	��d޻��R)�b�UY�$I���].���G"�+R��'=��Ê��f^�����E����h��ܝ�C�4J�%���2c斃�s4���D@���Zl��h�ƣqsqh���''�7|�x�~�K700���m6�����&	�+��8J�P�zzzL%`���6���(��ph#���/+I.]B孀*o,����U_:::����X�@gg����M,Ik����ؠ��_�6�Vbhh�$@����W`}��+4q[[�as��&��M|�?��W`�Pֈ�#$$&b�ڝ�o䄄�
:M�����(K�c]�á��OL~��3R3�����8��R�������'�f���B�d1�_�.�큑h\lu;�/M��nr�����?�j<����4}
��fI��(��_VK�7N����%��B�*s�g"�åVB�/����L�4�����b�XW�F����$��q1��Q[mEU�Ŵ���hB��|\\��?�i��#��y���QLT}m����_���[�G�]8	TIEND�B`�images/admin/dashboard/kbrules.png000064400000005073151165074470013224
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<	�IDATx��kl�����]�z���c�1��(�V�y�U*U�J��$ZDՆ+U�E�T�Z5��(�"U�����+��>�@6`�	�o��^������s�u��k��+]�읙;�s��93�R�v�5Ak�^A�w���+�>�d�4ǫ��9�]xS����T����g�p�m>����s�Y��H}�2�W���P���_߱_c�u�<y�^KV�Vеin��l��v`7N����`1����4�6�z;B�D��2�_�&{�K�
��߅�?t����섟ֽ��;��jn��}Zz����wй]|<���'�������f����S~6�O��>�!��\��T�Ո��ЌH�[u����^�}h�ro�/tlza�{��wj���Q�ΰ�T����|Ȯ0/u�|p)�Ur1W:o�FP�Lʈ819�"��vnh)��2U$z�q	�;%�16T��>gO�_>�C�Uj�>S%9����C��ŁO�ww���ϑ΀�i
��L�2�$&�f��s���2րE��e'K3�ÜmD�v"8��g*ˁ:J'b�X�}7bqEp�����9R�z|�\lq�o���&��#O��S��.�r
0�9�HҬ�HH��Ġө��"��^Dc�{�H����O̡�'��~AM�H��D%̓��a���׈�5�yt�k@��n��HLZ�bߨx�'���k@�^��*�
D��h���VLz�GH�W~��gO��?g�iP��}�I���CG���ݩ/O��{�3�Z$��p��C�Q?g6e�b1 ���Pdj�Glp���Y����'���B�ײʬ@��'#d>l�K������\���i�<o�����s�vgӸ_؀�B]�dۄ7�

�왃q^H��l��4mYOO�f
�$�����^�'f4,��"��[��[������u�b..�)�]piv�p
�7W~�E�q�o���#�P�A�ka��@8&�=�܎�W����r|��
YG�>_A	�@ӵa��k�vZv֠����º���|<��3�]�Ѡ�m�IO`�7!ŗl@����-��@��Mc?N$�y8'
��:g�"��2$o1I�?G	^�������FI�6�V��eee��kFS�%hU�H�4�+�P��!=�Ѹ��Z��	4o0
oDz7~jm)�:��j����������c�]�h���9����K$���Ά�`@0D__<x0-W��%Cy(��
�����s�C�s_��($ow�E��f
<�k�ޯA�~!oJ,���(�zxVV���'���rally�A�H�#DO��\�5�7{����8w��B3�v	t8G�ߺ����`=�1��R�֯���\-?11!��^���=�@���DH��8b\��,M�gp��m��HQ,�3�{�+�;g}�#o������X���y1�AՉ�&^�.��"�nĺu�C��?Rт��!��*MS{�__pvuu�痡�۷���塷��n�UUU(,,�?44�F�6����s����E�,��{g�Ԛ����롵�ՑG�j4�̙3GQQB��g��l�H�,r��wʲK&\A�*���r�ƍ�ݸqC�o۶M����
x�>G�9��F,'�[bE�<��ܾp�{S��������}��-�����8$΅g�p����K�r�R�Fe�e,F���M����st�[K5��k�*��������(��<w�g�$��ه��3z�i�aO��_��ӗ�V�Z�����u�b�x�)�~N��X��N��_��2~��7�tmU�}���߲e���dJ	�a2�^k����7�"���?*uT[uGYZ��*i[~����gFFFxff&��8�n���������n��2�d$#���ׅ���	���'&Π	�3p���0���>-�S*ʢT�N�)�W��CP�U����¨�b��D�T������l����E{p($��=Xm�7-_n_i�B6˞�P�p���g�"�ȱ���T�������W�E�J=O�_x�ˀ��ϒbx��ە��1�\��+�����l��M�|
�N��3���R!��j���oذA���y˲����ʅ�<�H
��<k�_J��&�����xI�+kn����7>Y�	x�gx�2���K5@�WVV:��	�D�L�3,��b�ck���
�)�	x�x*�0<cx*����
�)�	x�吙X���\3<��~!��#E��/�z<%����o�l6''�Od�T�4v����ʀ��z��6�����_(�
c���a����>��nå�4��5N�����f�{�\���2�Q�$���.g���,�dī'y?�����E�ò��6hZ����~�[n_�(�.M|�����Sa��(���z�^m	�߀G�'����o�q�IEND�B`�images/admin/dashboard/kbtemplate.png000064400000001341151165074470013677
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��Z͊A.��Q�9�=DЃ/�{��
,���O���A�bH
D��x�"��w�IհK֝�ȶӻ]�̌�t�U�uߘv��lf�ܬZf2�Wx8�ۋ�kc���F���n0=�B����
�B�ϙ��N���v�R��{t�.�k���-�H���EQ`�X�v�e��f38�N��l�\.�P(�`0��_��y0T���cu&6�
����G�����ܦ��"{�^���Lg}�����.�H��je�!V��7n�,tJ#��!�r9&�)��d�u�Գ�w��"�J��Y�y�#=ݽ/x��|>όF��3��}���h���9�P�Xd
_^�ѨH�{��b1�2�B��D
q�R�t�`�H��z�>z#�â��b!{dk4�n���$r]�,6p�V��*1�m��d�ٙ�#@�E��W˨�jt�l��E�3O�̝&G6�L�^���^F��H��S#E�b��P�3�j��/dY������Ó��Y'8�=i�����!4z�l6�YZ�����z���e�F����g4�z���@
�$��ngB�T���:��������I�mH��?�J�����~���M�n�[���-��d7IEND�B`�images/admin/dashboard/knowledgebase.png000064400000000760151165074470014365
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�왿j�PƏ�%.�B�.%Cp�[ߤS�
d�ԇ�2�M�\%ĒĂC1��IϽ��tɍ�9�q�~�5�ߠ��n��%CË�.���Ѩ�m��Eu���ƨ�m۳C?�
1�7dY�-˂^��NG��4M�u]p6���x���iB�߇$I
�c�@��*��(��$I+�
��^ŏ�}��/�k��`�0�Lؿ�����ł��ో�s�\BE�i�Tg��Z�dY&|H������o!+_�ß�@��ɘ\���S�O�d�!�>�`�y��/t�W�A��{��/�]c{D]�A
�+�!�B$&���Db"1��HL$&���Db"1��HL$&���D�@�K�}'�A���z��w�Z�>��X�)�0���1mIEND�B`�images/admin/dashboard/priorities.png000064400000001656151165074500013743
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<PIDATx��YMhA~����	�ZŵM�zi
�(Ń��A(�͋
O�ŋ�=y��QPDPlVş^TIjK�4D7٦�ݙq�6m~h�d�mfс�&��$��{?�+1��K����z�Z����/1N�9�U�EN9M<`,n�_jes�{eEN���S
�*�9-�����,PB�܈y�";z�8-m@zi]s�$K�(6��j��7�0J�Eˁ1�@t-����L�1j~�{�C�1">_��|�Bʠ��I�(�8��w�
��r��L�n���e#�i�n�N�Q�w9-
:�h��S�
h�v#���$#W.Cׅ���[�43���ԳqF�y�
�:=���H�B�K�'()vU��
�]�ɰ<�t��b�ŀ���}`�5�y���p%�0+(S쪶D�D�^��
eʻ�Hf+SO!�I���=���o��I<!�u�X2D�z;\����jC�;�gt�!Sq�{eYJ�
uB��0�����f��>j��l&����՞�y�r'��#!��d)ZR�Z;t+���l�@���li0������A!c@ΨL2���
�2僙��T�"xɮXP�id-Z&�
�6J����2�Uȭ>@
��HI�k�v��@E���݂�[
��zS��4�z)۬B;h��Ԕ}=�$��뇛��7��Ss��7>>�Rr���=�m؀@9@���l4EL�֍�i�yjddľ�0�Q�GŁ����/9jS�Ԧ6S��-%�؝���\���s�~	�܀u���\�u���2��:~-׹:r�D:::�t?w�I<133��B5s���������IEND�B`�images/admin/dashboard/staff.png000064400000003504151165074500012647
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��ZkhW>3�;��ݼ�ԚT�&�G�XH#�@[K_H�+���6��������Ї��"���?JQ�)�K4*���Z�<v���cf�Lϙ���&�ٙ�
'sgw�������i�87��=;://�|�Q
v7"�����E$�ي��`��v��
.�iƭ6��v��J�j�+��`����4U���?���������:+vv����&՞1���c��#�3WU������E�FA'M�x�Ib0~�<��J0x�r׾=�,���„��3��GV�e_��7[��ԃ�U�|�1eUq���`���!���o!<t�`�={5���x�hh�t	���.��r���b�}
{H��A&Ydbw=
�˕��X\��5�_K�O����w��m��9���@���6��
�hz��o���@3�ÔiK��m9k7��pa�Pz���8�?�Ξ����.�n�����X_����'i�,F��(}�8�b�z�Դ�Y�5�P�_�Q�1�QkV.�V������bv�I��rMVB�-3cy�Պ�M.Cl2����R�rp�F͞d�3�LB(m陮1�ZK@����,���W���q35A�n�˨xX4�<X@���m���f�y@	�ӥߔ����J8dd\�h
�}�끅�P���F<g~�&��U��q���Ue�����NL�K�V	6�abc�t9k&�@���K�0JY&�6-���E0�UE9�]f֓���n��7��A%�0���r�N|32��0:�~Bt8J���	��ذP	۩�w�þ�,��7A���
L[q{������=O�nEj���"����Z,<��y������}��9?~ڭ�����ҁ����Xa��|��B��1��D�<b~1I,�5��xsHlH`1'K����ٲw�Y�4Go�xw��A|�k�����;��J��?͢)|}ݯ�Ū%e/��^�gO*��,��E�2Se�8�ޙ��at
߼7.S�t�:�[[?k5��-q�><1C�K��̷�j��jЧ3o&b�^<	��q��Wtaj;rj�=��+w�o��8�H�a+,mwU?Z$�疮��ިZ��pP�^�Ă"��ul��wYN���S�5ى6��=���E���U����z,|�)A�-����Z��+��_�(f���?���#���v�ngy:�8��WW����d	�Qબ^��\���e�SH�6��P�D
O<��j
�r���(*����6��I_������hӋU���bj*��(R�)0x��U^q.��	��滋��(�?�8�FޟK]�6
#�6�*>��H
ġޔ��et�.b4E��O�U�^
�x�<�G>��a��M�O��+bG�p�泈oLB͋�X4MB���ҢWeJ1��8��IJ��*I���6��K����tʱ�.�v���8]�N�$9���rBcs8/�u��{FG�FNL"1\��h�r�"�ʒ-�8���R4үH�6�˭n�y��Z��Pq�%���mڡʌQ�Qz�-I��$B���
Z(W�-A����_3��$LoV��$娲,/c�mGڂ�
������J��<��4?�1�_<޷����V�e/����$u�]�4ySI�O�UL�����L^q�k��'�i4��'1ar��^�ESk-�H�D?4�Q��_~�LVq5IEND�B`�images/admin/dashboard/statuses.png000064400000003775151165074510013432
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��Z{�\�?�1���ٙ}��lvuc44M��6�$�bDQj�h�6�@*eBK�6ֲ���$������J��R���b�()�����iC�w;��3����Ν�v7sggfi�1{�s����]��,��I�+��x�ڋ�����5<l6[������~�m���dgh��@���l��m����仪��C1d�d��T�4;�.d�J>x`��V����y`
�q{����B��`��R
��)|�f�G�(`�s@�L�
���������@I=��n"-���[�i��)�s���c6�H�M�'��w��Q`\�x
ܶ��?w;��'=U!��Tn�I&�+Hr���J�?���+'�T�	wp9�?��I�RM�d�#
�Ąخ
}zS<�k�&u�@f1a��J��U2�*��V$����t%~w|G3ysI��O@�E���B�>p'	�+k"c�%=S�	ض�v19R�I�=����no��B�)[���d,ꤧ�Zv�Izy�`>�����K����l���m�nw/��X|Á	��~��(�+�r�?v=���9+�Ӎ�B&���;J��~��V�d[at����(0���XU�?�J����に���lކm��-��g�Z�=�C�7�Dlϒ�䯌R��⑭7���B��
TM�p���3TI�!Q�I/V�!��׿��W
��XU��?�?p�F�|�,Mm��rq����%5��.Oo��ˬn�������k)8�a��!<�"J��k�2�`�ݳT8���qyl�=_:�̰���}���@�=z!�p������r�!l��Z�2�(L������o��z��x��:�6��B��pہ-r(�A��L`ވ�3���9^�Ewޟ�w_I��[�<�s�V��^�;}��U��f�ui��y,z��Ԍ�'^�
���)2�};�7���6Q%��H�{�m,���/��?�
D����	q��t���+�flN���e��`��q�<�	����(!�T\�Q��P��s�G��[vR�ҿV=�uW�u�5|�,�&�w*�ƫ��<�04��������3��=����;�$��k�E�I����a='���^�.}kWGM(i��!����㐎r�����A�+�_�3F�[zc�?<8�vTBo	�*(�^Tl�l���~�����s���
}�/r�k?�tR�?�H�n���:I�e�<�Y<�Nh%�s��a��;z��9R��"��pY`�d����1���鿇ΩƲ�]��#��P�g���F��]����|^�
Ơ���d�?o��_v?Øa����G/xE�<�k�
,י�l<��C�]�)��`i��IΒ�_�?�pJFr(��;�vA`�Tr)��i�-�
\���[�*�4���V#�;J��FPFG��Y����QJ��rwO�z�b��r�,))���Ֆr�%��.�M~�hU�A��XCn9῜D(�!�A�I�I��S�M�*�<l=k��iK�2p�%�
�(�?�_o�P��d3�|�ަ�k��n�Gz�>��$�oɁ�@�'���]%���k��&deM��e�]ފ����+!�ݷ�����K,|K
0ՊJ��Yj����N�Z�kW_24UT�<_'�i-�g���5�T�x:���w�c&eꚬ�|}Zyn�ҎL��ZIy�2���	�N����^)�~���h�ׁ�X���!�]�jwAC�UU2
��#��6w�i�%�a\TK��j!�WSr�
���S��vK	7:«�Q�e–W��X�s
8rZ�^?ϛV*|�D�,���&5�ъMkɼ�~���U��{��S�{X����f�3'�'
Аe|>��G�>�����q�R����ν�I��=>Q�=��'�3�IEND�B`�images/admin/dashboard/support.png000064400000004654151165074510013270
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<	NIDATx��ZkpT�~�ޓ�&!X�ˆ\҂"Tq�++X�3TK,�U$��ja��V/��
t�j��p	��"!h�${I�v����^BXv��&�3~3�l���}���߷Qt]�\L���u����O�)g��?,�٤����u�X�ط�Ƌ��n�#bg��U}w��M��7��9}���c�	��U���Qh[2�W�y�68ڡ(1'R���t��2��S^<�qy����Ư;�~b/X����o���((���RZ@�?�!�a[�
���(�t�U���DCM�m���V��ב�2[�s���ƍ�~���Fg��L�	�$��<���8��6�<���ze.	�2�G��1{�)[���'k`�s-�m�;U���u���}�Xb���&G�+��m�o2��/_Y	�Թ��pV��s�t5���Q,v8g�
�&uc��>݌�eK�E"���E�o��{��
���#������x�����	�-��/cKb���
9���u`k~�+a5�@�/����IL��W�J�>�ec��(�&��I�L�)Sϔ/[���Q2��v�����a&I<���M��2��}��d<r���䦆�&�j�#3+�wσ��Q�t�bh6V$!B��yy�w����5�\�ENrS��{�kI��E�&moo���R�DKKܮ�0�]�;ɴJ��|�w�IU��FNrS�PSƭD�RQ*k��z�3�E��
�jt�:�Y�Z���ˊ��=���[n����E4P�����l�ћ�6��IN����k��I:�w����h?R��<�#V+Vw.6AlZ�	��;������X�?K$�c|��2y|��4��*��X���.�U��2��I�~|��[^�(_�����n�ⶩn���%�'��9�������n],c!�BقPSSC����h�e��UlF(�˼,�G0��;�B;_���n��J��8��+W�g1cK��B�(�pS�P����L�ܞg����~P���,�G�E��;|�@��ۆ���̚_3��ƛi`&���a,1z�#�ș�j���v=m�8�Y�u�U=��mR�-����M��kc޸��CY�OcKb%ē�\=�Z���o��{��ʘ�f!8W�`]5�ǎ�&B������
Vs�(G:~j����y��Zt�LY"~�7=���(Ξkp)��[�s~�[l��BUW`��k�@�IU$��P����񩲯��S[��A�NEOt�R����I��憤Bя�k�����H���Ju��,��Վ>~޽6�JZ���b��i��~�M������
��2�X���Km�h�@c$:eii
f�����&�B��g��X�$�w$�@�Qua��:[!�)&;�����N�k�D�O���}m�i�"&�ɑ�?wuF	���4m�߼�-8o���N���N���	Sz[��͹}
1�ELb�#]KP5%�[U��}~��w�7
����󫭤C|�1O��{�+W�a,1�ELb��\���Q�QT�$��^�a�+.��q��%�ۍ�~�1�<)q��ϛ��zތ�>�Xb����NB8ɝ�AM���L�g�ʐj�n�Y�G�|���CSSS���A6<^/�Z�[�-�.�e6�f��<}����X���
9�M
�BM�ۻH��t��C���[���ijv���lFqq1��p��|q���@3x\���<����'GKy��\���0p�@x��_�o�{�s��l��X|����
��P(d�%\.�����j>A��;�r�S^����~�w��䞇�(�S��hmm���5�Mp����;��K)3��X6x��Z��3�EY�]i�%Պ�c�=[|є�����G�9
V��X	��|n��o������tz+;�\�ӄ:uͫ�m]���b_[�7��]��0��Z��lz���gUV�b��
�W�����n�}�����
��Ԑ|��fn][�z�׻�k���+E�?�y?#>�F�qK����З��:9�<в�%�e6HY�'�m�S�H�RL6������[�\�$w������z(�`�e���+k��_2�6Fݩ�R���+[��"g���>�8�V䏻��.B��\z(Ч��bs�ߒ�����@���)>���~bR�������z�Qd�t��8��C_�OL��R�J`w�Ջo����dι�9+Q,bf!>���L�E��0�^A��B�Dz#{b
,������=�2[b��!����w�����^�F��F6�reP�0$��ݳ�O��WI��hTڷ��?{|�@��^I�Ц�IEND�B`�images/admin/dashboard/tickets.png000064400000003104151165074510013207
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��Z{lSU���ګ]7
�9�`؀,&T�fn<B��0��5$����?����<	D�#���
���[�j�����ܛ�kK�mwە/�rO�9=��{��{/����Y&~�����M�:�1ʿF��Э��)}R<'k�k�K�_��i���T;|��mQ��X���P���^LX���e���ls�E�����T	�F;�n�ܭ'�4��b�@:���Eٺ��K��\&�ri���ˆ��p�4��>td��=<lU��
�Ϝn�%m
�>"���Q�˚UE��k��nq��oAW�n?o�����=��?�$�����:��2���.JTiX��r?u[��{�z7R6�en�V́�0
+�*�sp��.��AD�BcN7�t���f�����܌bRb<G������~�D݊�|8nXl���J�>�"ExRfo"^��\<�=L��HWfCS�
���ucC�0��������s���|<��s1"�g�%��V�(]Ey�v8��I8��XY���ɒ��'�@���ᡛGa�s��qd*��+�4�҅�.
4~	����U8�NX,��lFE�j�2,��y��V�
w��P��/,OP��-�v{��t�����`����d%kpD�����SF2��L"KF�D�#*<�	��.�+��
-���#Jx�)���h�9�v�2Ȫ^y��!/��閝�if�g�~���'��U�[�r�>؜Ff���
C��4�ߘ�'ON
�@ @mmmH�
!��}��O0���T��������]VW�g�~���Eq�jxb_����Y!V=0OUÄP��e36���
����>����#��l
�̬��TR\BȟZ�a��4��d��IL�>R���<R��v��-φ4m����(Tjp�F=�Lcc�����j��Kb����^�9�[�8K�Yq��bT��B���]���m�:���A�:��_]]��A��b�[��\_~E�Ր	��[xٲ��~�9�b.\�8"T�~V������l�B4�RJ��{��G��'��F<�0I=a-t�dEj��IV�	�k��(Ph
��FS���5XO��۾��a@�|%�?�?��Fi�1.\��N\UU�s��9�f�/L{�̭(�|)��i��v��(����0WYC6�,��F�,g��
,���o��|���W��GJ�S\WS�m�46B�e��'�&�4F9�?��(y��hJ����p�\�>���Rq�:��B)t0r��
����(�M�n���Z��g�h�a�;i�6�\��҉��K�a�l�z�:��!L���1:�Q�}��-��V��~S�
4��re��4��b8�DG?���4�~4Z]{��$y0�L�
��k�e�Ў��1ވͥS�EH�
�sfu�����~x&E[~G���~+A��J`��_�<�[����iC�c�IEND�B`�images/admin/dashboard/updates.png000064400000005141151165074510013211
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe ImageReadyq�e<
IDATx��Z[l��fv�b�����cl�KB�4�%��IS�JUT��%��j�>��TԼ�U�4y�R)}i�\(�Z�Į�p�l0���^{�s�]���׆��t<3���|���g-���'y�o��N�q������!��9�N�����ޞs���^SS�;v

=����Ƿwttl����R~��޽{�r��l������d��ݍ7n���6l���(i��cfX�?��rx&�u]G<��(`������|`��z���W�8��02��$6�M�͛7QYY�����/e�~�_�
�Y��G5��=;_��2�(hShMMM�۝��(//�ڵk�4>c�d�����Vn�/Zff�p�k�U���E|:0���-O��]O��;Z��N���=���Ϋ�Ըj��](0����q��������?��T?y�(܎����+?����d����
�q�t�A҉��������?��.��7gJf��r֢a��p�/o.�@�L�Sp����8i�"�9�<+�(�[E�h�/pf�&4:��TS����E48�b��Il�X�Ϟ.�lA���m�	����.�۸#�.��<x��
ō�L�/�,=���%E^̃��(3�&t�E��	���D!?+�py�x$3#f�Y�B��p
�`!���b.�v+#��e'wJfV���#"�BΉ{m�;��
��Ki�'U�̡��=0a�!Ou�����Wu\�e<6n"��j�s��I�﹎O���)	��\�
TB�,X��<�i}u�>nYBx�yɹy�(SFQwE<tg/��+��>�3���Ȉ1T�&Q!�\�Ė��Y�W���.�C[�ܸm_��(�i��s_�ȓ�,��"�#��I���g��ځ��vx|���"T�nt̀A�Gc�5��~�
�X����<�7�wz^[�ZH�����E��8H)�䙇�'��|e�G��]W�bs���@e�%�ajb񈊩�$Tj��6ҩ$v7��u��X^_%�=��6N���D!���Q�zo#�l�%)��x?�%D���!h���6���E��w�b�gY���Na�V?ʝN��76��ڍ�X�jN��>��
���)d�3�>�S�c�@!�:T0�S�ȁ�N�]?��_;HT�
gT$�՗{�aA0����-��;鳤<�,$
��‰^N��,}:Xj���GdՓ�"ő�/�T�#���>\�>�}��`�?7�������Fp�V�VD#Q4!�Ym��j�{��o�\����ϸ/X
�QȠbe}��֜�s�2�-?�yJ�꾓h\ׂ��sn�J����24
��h���56>6C�j%�F�h���(��?+<�j��v��T)��NL��^������}�L=���=�@
ZP�5��˄D<�ʋl:���Gb叀���e�-J�X�S��ѳө�����Bu��2�[�AϦa��7�����dz*�O�M!��P}u�z��_y�!$1+\��D#�h�)���6�8�`$c���
)ۏ��n��=�
�l&���^L��)R�}���@.;����SS�QKԭZ���9k.���GjAT0����EC����~R�	x�����ccH%��>���<��g7�Si�F�_03���@5B���H�.s�)��{Gƨa��1�1�;�T���
�=݈Ŧ	��mx�6.�[q;���
9�A}����#�5��E0��tf7���DS�����Otcc�0�G	G�¬�&\_����W�`th�n�Q����1vo��B�3G]}6W\B��Y��ρ(47���/��_g$�&��1���
�ƚ��!SU7'����r�����yQ]C��ԩ�(�g�KH�8�BQd�
���D�
�5]c"na�N�Uc���Zn陕V��whab+�cY���Q1�	�~>�>j���”t�H%RhM���;�XJ+QDFY�g��	�,	uM��N�5�.Hޘ?r��Hŋ�F�	x��z��WW�SY����R6O�5L��`��_�F�F%��khV�{��о�$�R	HNע_�(�b�
�I7��w�>���+|�-Qby�����h�kb�h0)a9k4WEU�TȊ���޾0D���wI����4��yM(lq)KJ�h0�h��
K6Y����������W�+8�!��enϔZRw��;����ȧ�Kf�hUbE�S�D��$��.TN�
��c�(ZB.'-�4�n��f,a�k��Y�$ȁ(5_65C��p.Ŧ�M�h��I�y^ZJ�qL����-�C%���W��93��?��d�t6�g
�JcgS=���2�y��|6iى�ij)h�ƕ�,��p1��cZ4���ktZ9���F$��O5r[���C~�B��
����e8�m=�TR�����I��{D��'���<֑B�b�C�������Ȱ���QhϞ=o�>}�r���C3?_>�[8�
^[��g�/X�?Y��C��IEND�B`�images/admin/delete.png000064400000001114151165074510011053
0ustar00�PNG


IHDR(-SsBIT��O��PLTE����も�RR�::����

夤����((����tt����%%��66���붶�oo����

䒒�CC����cc�������??�{{�))����33�mm��HH����\\�rr�����22�;;�����LL�99�**������##��{{�))�MM�88�ff�ssta�`<tRNS�������������������������������������������������������������b	pHYs��~�tEXtSoftwareMacromedia
Fireworks 8�h�x�IDAT�]ω�0`PT���k���)�(
*�`���i��K�S�_)�Hf����;��z7�(����,�S�Ns^�("%��Z�"�LD��^]_	�䲩=]˛�@��6g��=;`J1]����)�|hjƖX����A��.3�t�<6D��QQ�#裣��?���_L�@������oIEND�B`�images/admin/departments.png000064400000005345151165074510012151
0ustar00�PNG


IHDR00�`n�	pHYs��~�
�IDATxڭ�kT�m����e9��yj�C9��
%��<*ҲfU��ʐ��!^I���1TZr��+��(��g�û�g߽���ۻ����׳����s]�}������j������O��c������U��`|��Y>z��Ž{��\�RXXxJ3��/7y$̀h�|�C�-�7oޔ���۷o�ƍ�V�Z��5C\s�G`��X7��2�"0�_�>}�4b˖-[�dI@@���������������a�2T����2�\\�zvd|||<==�Ν�������\�<�3��.he�������������(͛7oΜ9^^^111���MMM̘6����8�1��!�F�����7B›W�^����WWW{{{&Jvvv]]��600�c
��߮]� T�ԅCZ��7޼y3�hggG
��---��bH��@�f͂
��ϟkM�."$L߿���4{�lkkk???ֳx*֋��]bȵ	������B�V�!�Ƥ���i���!!!_8*W�ᕢ,<@�p}}=TVVV�B����!a!���͛����ǯ\����Y�������
Bh!GB�*	;DH<{��]dd��ѣ��<Pw\���B%�Bh!G!�ĩ�H��ҥKdjʔ)�/_֚4�wE�-9���	���픉�344tĈ���j����<�9�
���	S~o߾mnn�����ɓ�)���싄��ȑ@9)��!O~������
*.��_�Z	T"�rRZطGH&�:abb"�#��>|В��']3-$BN��i���nO�>>|8kRܬ��ON���:tÚ���M�JKK���}���@�@!��!�U+���*����{���ͺ��������\��hk?�?�`oo�V�,����@�@!��c�r���$^�=B4�LOOW�T������Q��6mI�O���8�����h�С�7o8B�c
�C��B�B�!
�FH�ccc���Ȉظ9&!�TaIN��c'��ޓakk;r�ȁ�W�;n�!K3�@�*��	��CT���)�+V��bMh���ۙ�s��oU�r��Pf����ԩS@��*e�V;f�
�r$BQ�*9y����c1�i!ɾ����Ekk+��:L�wtt433���=���5��@�*
�'ȑ@9DE8;DHla6�6X��<��oU]��7o[_�|���uǎcƌqpp���������
�G�a
pH��Zȑ@9D���J�F����,&XZ�tY�Xz���F�~�^y�zm�:�1f��,�Z;��Cr�@�@���F�H
���
�PI<����k��������~����{<�h�����W���!��|�F����Rf]7_�>f�
�r$B��ۋR$K�J��ٳg���&O����B߄���Խ�;ӷ����?3s3Y�:_�2]F3��	TB9M��us[��t�k�����`2����e��gȺ��Шİ�D7oss��7:8$PA-�HL�9w��i��?'��sH������0��z���gPX\Ȇm�붮^����g�Xs;�/)cZ�Ew'e�a�9#��*���&Z;��7(3�Z�ﶯ2�ڵk�&L����=��u��G\ʁy��d�/7v����0˘�;�c
�C��!�r;W��S�Sw��M�`U��!cc�Ç/�Yn3{�т�Ҋꢋ��*��G�iR�	d�ĉ�U�W�dӃ1��!�
Bh!�u�pZ�#�P�*Ysoݺedd�����}�4���-�^�ohy��Ş��
�7V
��B��3		TB[|����N�c��y���J6��!Z]�+WM,��)x��y�/
��O���Q�9���׏s��c�v�3��	TB��s�dܴ�+o
�:��"_�%�&ӑ�
���B"�
J*�y�������RpMMM
������oR�G�a
pH��ڐ�Ň��e����!�I&А!Crrr*+��Fnغ'6�`L�ȭ�ή��F?��Lj����цꋐX5�a
pH��p��=�C#��˔��W�d�),T�*ž��|˶�A�1Aa�aq+#6�.��0i���ׯ+��N�3��	T,xh�&n��(_,�����w�^Z�-[��:u*q��5�Q��~��V��/`itt����kkk�>3(I���'N�Ipؚ���;�rsrn��荐�(o߾%H~~~d=//����dA�����"�E�E.\�{����i)���������ŋ4���t(;;�ߧ�UZz�ƍLYe뭝29��Ϙ1�"�ūׯ)'>lll��˗/񸰰���H|�P�֔l��p��G�555�	wX�]|��,P�|�*�gBB��&D]�0E?5i�$*ޢE�Ȉ�u}R��1��5��_���TJ���ݹs���ݻwo�ϒ9{�,r�c'�`%�W|<T���G�N}Ri=C�&..�
�W�^���g�SpI�H��
<l�0*�n��d30�F�S�H3�cJ��8�.Y�'���C��}��%��3������4�O$�&��!������ٳ�J3[```ss��m�{�4ڸE��B;s���f
��S֝�w�jc�;���π����p���cǎ9r$77�����q��Z�;�����
��(K�u��_�CZ��!�
�G����m�����Tֶ-IEND�B`�images/admin/edit.png000064400000001544151165074510010545
0ustar00�PNG


IHDRa~esBIT��O�PPLTE����������������������������������ޥ�޽������֜�ֽ����������B���Ό���΄��R�������9�������!����R��ֽ�޽�����ƽ���ֽ���1��!�������)ε�Ƶ������������������ޭZ���������������������������������)���������������9քRƄ{���Ƅkބ�{��c���{���{s�s1���{���{�{���k�sc�k){{�{{��sZs{{�k9�Z�Zks{�Z1kk{�B�B�J)�RB���A��ptRNS����������������������������������������������������������������������������������������������������������������ab�	pHYs
�
�B�4�tEXtSoftwareAdobe Fireworks CS3��F,tEXtCreation TimeFri
23 Jul 2004 20:14:04
-0000�o.x�IDAT�c��X��$�@Q�9�?�*$���6:F~P!I���c\�;����oZn�!����ovL�7���c\������kz
/����O��CT�6LHU�*$���!E�R�.F>e�HQA!�-Kk�����G����w���DHDX*�NZC�;C[�!��P[I%
I�$���L��%�؝��B���LlL�L�P!������D�r
�%Q�EC�IEND�B`�images/admin/edit_fields.png000064400000001117151165074510012067
0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<�IDATxڤS�kA����f��nk-EJQ�=�X(U0�z���{��[OQ��������(ބ�G��
����Iv����uvBmC��`�޾���{����#d�����۰���ӥ�r��ʣ����KOo��7��[h`�g�A��4�=t<�[����IPT�=Qàȏ��Qfb�1�Bד]����SiC��m�d��J��<��d���!���J�/3��i!܆�k2���'E|��~m�ƽ3�;���ԷRs��7P��9c`>S��]�B@ð
�����r�_���8!�N��cE��2&��ZXZX��oWf.w�Pn�p����ٯ�ۧqㄥW�׺��
�斌fL<��ᤎ\.����R@(��պ��b(\�j��fz��%�\���{i��F�_�H��"3X!�qw��)��F8gt��#$�K��r���fWI�M�4�?S
���a�!a�#�eS�A�^�IEND�B`�images/admin/emails.png000064400000003712151165074510011071
0ustar00�PNG


IHDR00�`n�	pHYs��~�|IDATx�Ř�r�8�y�7�����$!l|_��,���$�I���Qu���[��[݂��]�x<�?��A�d��Ԅ;��>��hb�fzᷥ1�����
E��II�m�o�`���o/Z�j�X_R��G�a���j�����@|\
�M��G�>R�Ԁ���E_���A�u����ë�S�n�s
��bK����$E9s�l@Y��1_��~��/�j��71�s��l3�g�Sfn��p��������"`I�Ν��b���kC����.-t�gqU�)&DKs�����#���-��S�L�T���O�]Jc�e��6I�q��A`;�aZQa,���+-�a�v�.��k�u�8��i�h$u�����m��A�u]�uC��7�al�I��[��ʯ�|�WN@��ϲ�(�zl��$�	Q�I8�x���
�ж�"���BrN�.�$V�ff��3���<�W	�d!5	�@sݰ���D��$[7�[L�<ʉr|�J������ل�����1��?�ֆ�aH)�L���1M=�h������|��p������p&�ǵ�u#�KlׇˀR
;E�E��xG�X�Z3*�͢j��4L��S��=m���q
ZV�W����`���R���$�$�(kU�mU*�����,���k�n�����u�iVhI��26�K�Bj��qTI8LDbs�lcu�=if����n!��];mL/'��N8c��3��,��k�1��nZ||�,RVH���0m�*�
�]ZW%,ı�ϙx�#�։��s��=��	h�h��c����7��q+��	��(!�FQ�jݓ��z�m�	���QJQQӜ�骩.�-�1�DQY5�D)�]��;���.�	52�3����T�I�)֭8�x�9�M���炭
�d!��YXO
�^����Ӣ���b�Mݧ<x��(���	O���U�Tu���]VȠ�m$�g��&oz;?J�wK�[P�
��?�9B�x�!n!��RۼK��!l��zkG��Ko�N��q����0՝�������/�v�����=,�x
�Xs�(���")DI&�v�IV\55���\IS�R޴��8}��@�j�	o^�V�""2Z�L�c�TL�34�@��"T(�f`��V�*oP;�şUPۣ�4(�@N���e����W�*8)@�	b�:!��O,���{<�H��R����a�/uw�9�_0���փ�1B[-^�D��s8�yR�)�+@��A��r�#ƃ��$\!(�ζ�"�PX��>�d�0(�g��&Db�Ep�"w����R���{P���0x
�N���RrUDE-�wY��	��R�X�:!���
�T�6�_�F;�ډ\�
�Z��}更�]]JV0�<���@���H��V�M�;��އ���$&��uwv�H%'U��6��E�����X3�e���`��(�yG�Tx5�Q�{Qn1"��rHJX�
Um�Q���B�|#{?�`*�
�n�:�D
�o��[>�?��T�iV�.�pO]� �+
5�eԉy�۱>�!��!L�ЍR�|�r:�;u�9N2�D�A����3mNj�����_�ɫ��p��f�P�d���B�S6]B�Jr��%��H�<���S6����!v���.'�eg�[�5)��qP���$Q�J�	�I�+�8�rX���:Fm̈3�
'������+ge�Uk���WG���@�jA�.c��s�RA�`!qzN:B@�we%Fp
N��*ȋ��͗��+qwCf{xс��q���fe��[�7=1�ֆ�_*X�pW���P�Q(=Y�Y���͕�]�������i�rw��aD)(�]�!H���qs����������C�x��G�	IEND�B`�images/admin/frontend.png000064400000010164151165074510011435
0ustar00�PNG


IHDR00�`n�	pHYs��~�&IDATxڭX	XSg�Ν�s[�uo�bu���.�vjW�u��nu�vQ����Zk�
�uWP�lBB¾�%	���HY
��HBȾ�,'�@�S��y��;�������GB��P4
`@�8��` ����%?,��;����	�=�ڰ�@
^EOj�����@6h�`�|��
-߅zmX��~��=9=rBh�T������?=>��,��1�0+T�3\'���(�#$�t*\Ԯ��"g�B�O�,	�~�&�
��Z�u�%�������l,�Hʇ���fxNO�&-d�ޜH~#�B
�3ԦE�9��asz�

tʬv',r�D���p�~�yb����O_�'��'�H��1�O_�ں�G�݃
��
^��I�}�~,�qj���T�=f�3~�/k=?�G|
��ב��>�
ԢBz7�̿?���@��4�.�f94�z�ktd����=�k�q/{n��G��<מ���
R<��p9=T���g��4�|ljߑ��0��=a�}ߓ��y�yW�+��9������,W�]S����ڄ��3��2�8�t8�tp���G���Ҿs�t�͵_�������6�~��o�5|��X'��d������;V`J�Ia�1Y�w���L}����K>�L�����K/Y/�؏�/[`��<�<���*~�Ee���ߍ�웬���aR׮ц���k�?�������Y1����?�tjF�����;�6^x���L��Wy%�;�#Th0}(�����T;Ǩ�<��1����G�c�_X��p8���6qi���qpU���-v���Mg�7��Տ�_0��a��E������#�j6�N��f*wF(����D���ʝ�h��I݉�ŧ?"��X�6iE[s1�]Z�>����˟X���;:U�931���=]�9�
�7zG����w�����X��۾�жc��0ʶ=�9�N��e��<�M��.)Q��jp���|j���\sh���m��c��虚#ӴG��%���p6Cr"��_I�6��W[�F�l���mc1lײu�4j����?��2�=��v[)a8
��K�a���Vx���F}p��д�#�:��u�Y��g�#m���gAph���A��ygD�
o%�+�2F�e�$j�h�H��Q�?��굴ţ�.��XJQ��X�7��p���2�EI�Fsv��������ST?MSx�O�`�c�$3�r�
��*��&����c���	?%�|6�A���McgV�~:����Bf\���KRr4�PI(

�؈������!��z23j����r�3��OR�8U�/���e�
�<X�
��
�}�u�+�s�Q����Fb�8�a�0�	��k�WO�}>[|'����-g��"i���\YN���r�r�e�Y�����Q-�2������v�oj�?�e�D��Sd{�ƀ�/Gٛ˱k<�R!x��}P7]��;����֎ԯ{����o~Jrbm�ؼ��Iy4�����17�|��Ԅ:^SK��/hN
&���[[ۊJX�̐_�����G���:��q��Mm���|5���I-��°'�y�_L��on�A�%�F)�pj׌�]�D�G�o�g~�T���
/�a��O���vF��u�rh)��N�X���|;r�!^���"
��&.�AB���h��A~`v���'����|J��6�@x��_!�:x]���,"pV��,�zɟ�=Wpyڂa̘��D%�s�-�ք_�"�QSr�4L��H��O�U�\�NW*��6��Z��ڄ
�
@ΌY��`X��5�CsQO
��м#B�e���Z�v�
�{��Wwg����Y6��}BÎ���]LZ�xե���Er~�����V^����B^AVf��q��k�i�/_�M!_'e��t�n5=�����\&.���
G�Ɏ�Y���mc�F7�~���xB,5�B�Z@�\�k>�a��_�EZ8�C�V&ʑ�3�]�A3���	�q�f���r�fS�=F���k2��t���QU)��|&�����	X�!i���-��>y�~��Osu6�џvEW���"T,�SÞ�ʣ^I_2�5F&b(��݀��`X���g�^qvV��ˬv�$Z��A�+Tɓ�0)��1��l|0+���`���j��>y�������xB��BQ��C�y��}ˊ6>��bBc��V!�C��Գ�f�w1s}}\��;�>n���HOH��f	4�֋Ĵ,��ޤ��˩�*T����}\�L�
[�ٍ�?g,���4Kzj%w����»R���P�~�J��rWM���lb^�6�w3�R����^1�S%b�x
U���]NN#ݤR�(�Ir"�TJrJJ��>�s<�0��
��th�:�d0�SP�E歝*9�\zvM���֯���/�,�f���&m�u�zL�'�"�Z����\���
��
ky�`����QG��̻Ok��>��ۮ�B8E�Z��ݜՑJ���~��x^p�޷��ȧ�[.��j&{{�}�
���3��x�l�X�����c��*�aB��IؘL�L0�m˻D䖆L��X}��+�$(�+Bh�O)���A�ww�WW@t�^]	�`
=e���H����T �&�KXP�/���
3,�j���y:)�܇}�©?p	������P
�o{�l���k�x��<�[�����)��H�m��;�q��@@Lwp2rA�5q�
��j��ս��:6(:t?�����ѕC�M�G[���������2�QW�Օy{J�Fj��ZkP+g`�.a�Sd��
,�L4Ř!f[��·������CCr��[S�Rg��r��l���4��������P�^)IY}��s�_��7vVL�K���
s\�9�ٕ�q[�e�+{j��ڭ+��+<=L���7U��l���o���܆J���:��~O��Jy��CK�0	K@����A&����=냞�������Auv�*�^FӵP
2�QF�i��m�qt�9T9�>&'�˚��ک�HI�ZҶ
�C��% 
�
!�
����F�S����	9:sm�t����DJJJa��e������RFzjb?��I�J8	ۙG�S��6	���!L’��AB��	X�a���ve����q=D˜=L{w��P��o�6�L��Yڮ�5V%[)���6.7���	��n�]��a��4
��
�C�8�݅N]y�aZ�[�I.U��11!��!3$�3Xw��Z��>ɡ${�����ޮ���s~
��Z�5��k�]����$
9�����`n�'۔���l
����T�(��Jeu
5����Ǫ�&g��y7�
�G�͉ߒ�ݼ��?b�X�>���䊊�eUgV�|7��4 ��
�C�u*S,�DK[��iy��u3�*�W[��L��5��P,nW!в�*�
!�^���.����b��%�?-�
u�����n�
�ݮP@B��	X�!�z5�U�����2��d��:���.��)<�5*#>�:��2.�"�k�]j2��洭/X����о{KJ�.L�J�<��6�M��8���`V`�`n��Yd�~��o|0�Wt�*��j��S�yىytb=!��X���n�^Ύ�[�?K��<}�;�]od}�&��s}�;0	K@�AB�c&ى`��潢�}��e��
�_����d��R��Ӥ���}Z2�Z�OC��Ȗ�tOO>'ak��32�z��}n��
�C��% 
�
���	Xi`2̭J�]E���P�,�(�j��%qz�u�8�
�n�%8Dq.
�N�߯��F�67y�K)Q/
�C��%���0?��C����W{[n�V���}z���ͬ#��h1�b����¨�p7g_ڞw/����n��53��ŀ�f�$,ݡ�
3�*\��;7��Jn��Y
���1��:�3�yDE}b{}��!Q��I�d%�
Ɋ��A*�#�F/��$"fID4��`�DX�^�O2H0!$)
��GT	�]�`-~�e�>���G�>���q�NX�>���g�O�|�*���.IEND�B`�images/admin/groups.png000064400000011542151165074510011136
0ustar00�PNG


IHDR00�`n�	pHYs��~�IDATxڥY�[���h�z����ZGŁ[p���`�*�zm�U��*�"�����F�&�Bd�E
!$�Ha�@�#���$�k�V�<�}�N��s��9����~����\�����ϟ�Y���zc��2��o4W3�����544�B&�Iq�Œ�dmmm�-]�_�Wͣy��\^^�
 \#�k׮���{{{�ر���g�Ӷm�v�ȑ��p�Z=�T���נ����,�!!!�7o޴i�Ν;���/���޽`yzzB���855�*��4��UJGGGu:�N���HJJ�`0����م*\�v�N��xi۝�[�W�V�����n��m��qE���O�>=q�ġC��#���u��={�=z��ŋ$	*0����-nqٲeh4�U=��!W#��
S�9���@��������ʀ��E����oذ�nt���6���ͺu�v���Ώ�6�\-���N�:��|i>/�ſ�/�nŊ,|
g���ի�\�&[�f���atWV�
�+�Ϟ=

�>06���6�ŋ_ǎۻ�+
��c�\�|��W�u˖���[9�;���H$Z�r�<��\���{mڼ�ߡÇ!��o��`�����=t谧��R�|C�I~��=��G�V����\O\���|��G�ضu���5�w�8x��aH�C�\�y�w���e+������!�;h�>����m�7�t�R(W�b����<�`|��)�����ݽ�-Y�f��6l��K>_��s���-ULjssoK�9�k�3��G�0��@��D>�쳅BNA�`�g�|���ݻ���޿z�.zC^��O�q�\�ţO���F�>V��l)�<fa9����d;,%|��ϗ,Z�b�ǪU~~_�&
�֭[���&H�}����}�����^�r�޿s��;T��l��[CFj�!�K���dvW��i�4Q��!�1���`ȕ�?��}�қ�}����W���}�
�M[�^���6,Y���g#:�ׂ�+{|�.Z����<0Q�nӦ����#F�|�Qõ����.YX��h����ܻ�E�o�`��uF~�ݘգ�.&��;�w�窥K}��5�~�<��"F��Y
������q�а�U�Ħ���%�k�mڤ��X�*�[�%��!���;g��;��[5�z��O���~z��Gq�O;\�9�D����4:��~[@�iT��-t��4X�5�O��]ݾ���ϖ��tJC��U���,�Q��u�\4ͬ���!s��.	���ΐk)JHH�x���k���P�h�L4d����gm�m��v���6j"�@@�&�ȹ����s#7�`��|���ѕN񵮒(��.����V�i-`���n�?�DoX���R�7oژ}��&���-b���#�js@���Y�P-j�:æM�UE[K�[�W��8滠�t���Xs���V��6�9([��ብ�F��&ַ��N�x0�sǟ߃���A���i��@O>�?�!��#��=�U�ڴ�U)�ԁ�TЇM�[٣��Qr�K�3+�,'�����D�k��o�ldidi��~�L=`��i�m��#�j�����/a����
���y���۶��;�W�$7{�V�*�W�JkY(�Kz�S�V���S�k�,��z6`W5��v7��_�vs�4`Wjo4�
T����ɵVZ�vfn�W�^o>��2��d���Z�δ���\����v���`PFkѹV��z�u%��w�BF���C�����Ԉv�Ǹ7�V�W��֛��m-<]��9B�+m�/o�t�^���4���+i�����L�ka94��T�^|>m������I`��P��'�.6�YZ�ǔ�R�
���^�^��nW���Ī�����r$��G~�u���t�]�Qs�}��IĜ�o<A��׋�ٹ��i�8�D�2S�5RX�G,�V�w����qP��q�L?h&�@�R�̡V>V���:z�+k��bEy�R�.�Hdr���j�34��dx�Bc
����gj�%��ܒ������MNM�[u�VYuc��BE>kƭ�H�&�Wf�����D��L�=F����AȈ,*7+k��*Q}[KkO�TI��h�z�=����&i)�֤�y��$0��71�ΓkNt'p�'�ˏѪoML
�W�WS�3��^e�I\�
��4�L���T���G-�ǭj�{s���5�^�ؕF�J	5,���%:�D�(՛J4��IQ��!^fH.1DQ����
�����o��5�¨=G�>��~��8�Y�Mf���E풰mhT��e�u�R=�TϒW1��YU�@#Qj�8�U9��E�9��#��.gAM��*�Ja&�DKU���5��^��X]'Px�$Q�
�媴冲#�SDR�®,j��l��b8Cԟ�h�e�A�N���:D=O�H]C��i�
�P�/P�+�%Z���"֊+�M��r��
��|�<�t����P���nh�t��.��8�i(�
Z��.R��+�kRJ;Cd�a����`vݯ<ӥB�EPO~�)��;��p�"
E#�R`Lḹjlž_T�a���R[��*���&�Ѥ�"u}Oo_����ܩ�k�4����͖�CSCQ�T�Ҫ|�&�X��*q\9�+�(�
��$h
�7])�H�.�_��9��j��5G3��H�%H�~�ߙ[q���cC1�tfR�3�,�Y
��e��2�*��ez��`������'��.��k��k
��2O��^�"�@�d���b�TX�5�����̺�����-��RJU�O,��T��']v�ٌ�
�Rh����
?�!FJ��R"_MWCT�^g����~�l��fgg�F'��F���&�"��y5�W�b˲�,�
��G�
ɺ`f�Y���#��t��'�e����O�~#�"��+��-�ؿg�ɡ�ٹ�B�:�L'��"�	U
�r�
��
��$:�}rrz����$�̡�����`��j�D�_�P,)Ќ���y)y�,�Ts"��d��^{�9�R�JU|�B���o۽B����#�G�PA����N%�2�|$�͖㋔D��,ր�X�5�#@��K����m��k!X�eD�
_T
��oU�hH�D<;�����8�T�,?�(
H��K������V��&��2�C�Hr0�i�%��8F��L�;H氀$`�@�8h�ڦ��M8m�|�U����(P�z�\9�ʢ����)DNRnA�0����
J2�i����}@L��7J�+�xG8wkX��u��`ښ�ϙU�@uM�O��X-�L
�R�J1��n��+P[��''ǝf����O\��X\m09�%�f�
X)��DB!h
�|J@�H�e{%{�%~%Z�;��������N_DY�K��3؅��0G�d��G���J��e$�#�"�/�B)�#�X�-�&�N8�##�
=���q�r怠
R�y	��q8�S4=I��AFs�F�|��#>��C1�-@�M�k�&0o�����OPe7i���M�Df�Gf�bP4�[��!�h�l�����jL����M��
QDj��*�$g҄�b�
�'όFў ɏ��!p��?(�����r�pS�%���
e�%�ʋ�e���0����X�b��O��4^h|��(��ą	��S�'������eںɉ�������Ѿ��&�&�b3hh���@�+�ɡEf�#2����O��N�f������r�F[L^$�8���Y����Π��q��I����d�FL�dlx
0O�9�X���DdC�"(E�x��\o��K�����ب�φd��P��2_�qp�Ox*�^26,���{i0cU}�%��/��/�/����a����O����?�?���^�Sd��'i@ҝDTx�!�TG!�
)���VN������X{A����\�ŠsH���>�"=�
�O��M�܎Cތ�A\
�]-w[HގP�W������!��(��\�`�7s�g[GKGO4�t�Q�ͧ��N�^*�a!��(Pz5ˌȢ�5�#���6[?�
�=��|n4��eĠi�22;�Qfރ��{)�;�h���W��Sq$��'UH�TJ�V[Sch4[l���}��ٹ�/�n�6[t&�ׇ�!Qiף3n�e�%��K��50�8آ<@��K+`+�9mx���#2IO�ɏ3I���i�0݉G݊Eވɸ�~9"��X�|fnb���
hz
v�ٹ�9�����ê���PZz=*�rD��)!ш[O�`r�	�;I�{)�i�����!�����
����X3Hx���NO�B{
BĄD!�D�E��d�����Lc?y��r��WC�t||L$��
0�(�qZpd���u+6;4!�n
s�S���a�Z{�V��PT��%�#!�V���,�ҕ'�Q��H�d6�~�y���1�9�/^�B�����PDZ,27,y;6���4�fl�ըLL_k�s(ixh��E"n�"o�f�p�
&��q"���\���=333���o����=���#����Z�RY&*�2��\Z!��Bਖ਼j�N��谦�&��G
IF�琘xja>��勥2�F�1�L}�����9�U4ӿ�A.�	�N>66ˍ�������������P_U��q�^���j
5�MfS��	uv������(��0�v�y7C�a��
8��|v�m̵�B��(T`|��?	-����7]��m����`&.�IEND�B`�images/admin/icon-32-search.png000064400000003516151165074520012237
0ustar00�PNG


IHDR 
szz�bKGD�������	pHYsHHF�k>�IDATX���og�睙��Ʊc;8Qj�%ICӯ|8$R�r�^�-*�T	U�
�!�@TEP�*��*�*��
�iL\�!㒸���ɦ�uv�;�{�����)H傑�λ�̜��<�;#�ʧy�O5���/�ۋV+n.���yfHDV��orT
I�֖��K}}��Ue⽋O.-U����'"
 "�J��N�3^�7;�S�s��[��
�V�Y���+_:��b���Z��/���'֦UcpN1F�}�V��­E�./c�#_�388������vC��)�����a�X������z��yx^F
U먳Tn�`y�.����}�A@m�.s����;wQ(l�:�`n���$�8OD�8'8�>����M�i˫�*��=����R	cL4q�P]�r��%���ٳgO�o�'?�Z&���T��U��|r��wS��b�$��r�2#�#��
��!"t�g�

q��&'/P�.�s�NR���Y�b�udh�A��:�s�(��8u���u�o߅�Քt�YtM8��1::����a�s�,ֶ�am�U��L^��:p���W�ĩ`����ug](}F��8fi���.S�Z%��D���7$��V]"�Ðf3̪H��6��B��0�c����s��t���t8����x�SnݺM�^'�c�0B����<���k��N�78�P�8M+F3'��uG
��$	��y�(�ƍb#$�%�"�8&N�MIbIbKmy�;�
�M�ե���
irO�AU���h6C._z��߷�S�U��D�0
����񃀾��{�Q���#���Ç�n���ٵk'z�-��s$�����b�E����Y&&���C�*ES�:e��F#0�T炡P���8u���׸>;K��"��$qDIB����	^}�Tnߢ�lv���*�FkH�
#նq�8y�I�y�m����E�F�Ν�mzJ%x�s�9�:?}�%�y����PfF�q���|`�gPg�����
<���<���]���͛DqĶ��?�}##��XY�g^��W~�מz��y4SAJ>�Ύ�v�5$TLGX)�յ*l����Z�'պ���s�Go��Gr��f�C�ǻ�c0�@Ŵ�
"�Q@7�uv:I�Q(x���H�����&_(��G���R1
Y�zټ����y������S���u�;8瘺x��M�8�8<~�\>�����ߌ��"k;�z���������8��x��LM]d~�:��+��xi֎@pN���A�7�1���O~�#&''ټy3����~?~�w���\��A���A����v��3�u�����h48����88v�Y����:����^�~$mR�Zapc����T��Hfg�E��)ϗ�\.�H�
�����ݻ���0j�o}�d>�{j��_z���}`��
�?��gϚ.�������y�$��r�O��E𭵾���Ff/;who���'ƈU%)
��\	��7ssN,.޼;>>.'N�P�ܹs�>}�LOO��z=�᯳���@��	'I�1��q-ywj�}[./�r9ٿ�k-�Z�k׮1??o�^�*Q�j�����U�S����ܜQU�X��qA����������v߾}.�˹;v���Q722���ÔJ%d��s�idiQ�T���y�ٺu+��gJI�)d�2�����@"zTXtSoftwarex�+//����.NN,H��/J6�XS�\IEND�B`�images/admin/icon-48-rsticketspro.gif000064400000004575151165074520013524
0ustar00GIF89a00�������!�$�!�%�'�'�(�)�(�)�,�!�"�)�-�!.�"0�$6�+:�/<�21�%3�(5�)7�,6�*7�,3�&5�)8�-<�1;�0<�1?�46�)@�6A�8@�5E�;A�6A�6C�8C�8D�9G�<D�9F�<H�>H�=H�>N�FK�AJ�@M�DL�BN�DT�LY�RT�KP�FR�HR�HV�MT�JV�L\�T[�Rb�\`�Xh�bg�`q�lr�ls�mu�pz�t}�x@�5E�9B�6G�;H�=G�;K�AL�BN�DL�BO�EK�@N�CO�CP�FR�HR�HT�JV�MT�JW�MS�IU�JX�NX�OY�OY�PZ�P\�R]�U\�R^�T\�RQ�FU�JY�N[�P^�S_�T`�W`�Wa�Xb�Yf�^d�[e�]b�Yd�[e�]h�_b�We�\b�Wd�Yh�^j�bo�hi�al�cl�dl�cm�ei�`l�cr�kp�hr�jt�lu�mw�pz�tx�qx�q|�ur�iq�hp�fq�iv�mv�mx�oy�q{�t|�u�xz�q|�sa�Wn�dp�fr�ht�jx�n{�r��|��|��y��y��|��}��~�������������������������Ł�…����Ɖ�Ɇ�Ѐ�Հ�т�Ձ�ք�Ӈ�׆�׈�ō�Ē�•�™�ʛ�؉�↎膐∑牐鈚䓛ꔡĞ�˟�Ơ�ȡ�æ�Ǫ�ɧ�ʨ�Ȫ�ή�η�Ϲ�Я�Ҹ�Ѽ�ο�տ���������������������������������������������������������!��,00��	H��#�*\�0�1:f�Ӱ�E��&��k.�����!0Ҙ1[�l�gF���QfR.c���KdLșyуM��0K��O[�jѪ����YEJ��ӧ�h�2U��A7L�:��V�
5+��)��.���#����S[���"[��&��*U�D茉�F*,xB'R��ֺk���M�-Az���@=>ܸx@@��D2�i����{'��s�&�O�8AIT`w:���^lz��~��+�N��|�&��#'N5bF�`x�~$X�.f�M_?u�`	%�P��3���Lm�Wdܰ�B�������%��3�=��r��"��c��<�AB�`㍈d�!^���0�8	#$:�^���A�7��B��hc�pqJ)�]�	:�<�##.'�{��FH�7E�C6�Ä!!gHb�i�tr	0��3�����q��Fd�A���
2Ġ)��`垣���%�\�
?�I�
���^-���
ag-�0%��)��&���O&���G{o��F�r�Ѓ6����
+�0�9�'�rI%�<�O?��C�
��ٞn<(Fr�p�J�C�$h�A6rV"�H��>�$|�"�,+ǣj@Fr�p��,�K�#t�A��8���&��S�"���l��p)�1`��7�v�A
��
���2x��1Gk��$1�`�ג�:5t���̙l0�<�Nn8s�6Р���`��$1�\��@|0�4�rO���`�2
�
j��/	���
\��@��$U��:�ۏ7eN/�6�0C����ڠ+�Tp�?���Y(S2�7��O>�H�ŧ��B�w<4�ÓBd-���
�F1O>���K�OZ|1��sl���@0�TT+Y�.�����[�|�ʻ��x�>'Dov$��`\�8��	�ˇ>bq8�.W��:p��b�{��b�;�RA��A
QЅ/�a��i*W3��8���B���A�PN���<A�5�AC�x����Z�Z�X�
@/���3��!��xK!��N2��	V7���j]�"px��D$"���dp�7��'Ȗ�.���A0���|K��H*�+��:��wǫY
��09���dB��;�`b���
�HGJ�z�a����@�`F!���YW-P+)��
���N�O0�&��v&��:]*I��:����l_
~����N��`*�I/���J�	�{�;��

�E�FPE���0CZ0�㙠����7���D���G��_�
o@@A�b��&-�1!��"l���7n�7	���5,p�mn�j+�#ʘ����?@N#�
l��l0+[�Ud�t�e�@;���u7�,�j	\����(
`2�e$@��%h@��	�S2���!��	�
<��LWٻ�U0�_E`�)P`�mhKD�ZzR�8��d��P�H�'\�)
��$i-wN>���0�B�L(B	F�'`��Bp�
V���Ѕ1ԡv8�*�
X��ը6��
�;images/admin/icon-48-rsticketspro.png000064400000010334151165074530013532
0ustar00�PNG


IHDR00W��sRGB���gAMA���a
cHRMz&�����u0�`:�p��Q<tEXtSoftwarePaint.NET
v3.5.87;�]5IDAThC�ZX�g�uw�ͳ�72&j��
Pl��"(""6P@,����b��&�ĖwW7qW�"��2�:��AHD��ĒdK<{��7f6��/�}���:�9�;��~�/���?��/��q��v������<U�m���	o�y�	��j�oݔ�>XV������U�7����i��^�yQ��O'�1T?�6��_ッW��ë�c{�F���;��+�D<�-�/�ߐ�JTR=�Bd�b�Vy
����+��vbO�{�T�!�~�3�1�)%k��~�+C�]�0x��W��������m�!���v7m����&
��1:��Mz�l"������T-2x~�m]�PU�P���%�{���w5m�w\~�]ނw7c[��VG`f���.z�?�gYH՛��k�l�zC�<�u%V\Z�Iu/ߊw	�;�����m"��~���uq�ӊ����H�N�B���D�Y��#x�9ֵ�Bt�r��e<g��6j����ԯ���dž�X���ABm4�֬�bu<\��`��_�k���/U��˓�_Y�R|JS��f��7ךּ�Ug�[��Y_+��2���U�Zk�V"R�Ae���|p�-}S_=j��mՋ�6��vD�)=�c
���H����dR�-ê˖a�7ׯ�y�v
6T�aSU<6V�!�*�U�JFU.ê�%�Єa�0,U����N�1��뗭S��X�(z�d"��)\��J�>�Z՘<{,m�ֆ�^�h��e��$��$k�j.C��j4�l��Y���l|X�	�D^Z���^����X�
BhY�3�=�s�Z��v�buV��B�gv.��^0�
��ָQ��vz�W�-��j�q@�>�oT�ѣGx��1�h���+�6�����V�֯n���K�դ"�$F�S��"��t.�!��s���5k����B$&�˫A`��#��(����1ը�D�1����鳧P6�j6\�Cleb4dM8b*V`s�:���
j�W��^�a�GXR�es�/����U�/�$��aH��S"l��0�~�9+�C1M�f�Q%�o���1�'x��1���am�j�T�@TU8VW.
�R��d�e�wV=�l1>*?
Hdԝ��|�+��3�9Eޢ/fz�'"��~HM^	����
�13��Yu�XO��mԽ;���"����T��Ԩ+.1���U�d�r�2���t����XP4s����h*|�`��Q��<w�]tD��Ws�D�}���$L��K0�t
E�z}<j�}Cu,
����w�����Aub���F-��2���eJ%ˬ(��J9>����>���,���0-�
޹�3��}���@�E�c���[+0�|�Q<�P�l�U���yem1�*#��Q�~�X�PV����u6�)g"�x����`T7WaO�Iu�
����)9�09{,3��v$�k_e��I޼�`�o����z5N���o��T
�&V�p���a���rYu?i�s����ק`]~44�5X��/��;��.��vƤ�1{��	�H�e���I�!�p��˪�D}�2�Kv���-_�`�j�4��Qx�2�uY�m<r�(%�E�z�>32>S�'%�15�U��匉YNp�8�2�s�	��&�]���ƒ��@�
�L|�*�0���=�<=D��4"h0ɖ�$�@��}^�dIu�Q������Λ�М@�kU��5K��แ]3G���0�$w�fuF��U
�=M��9����[D�UGb]eN�?��E�r}����r�
�U�i%�NT�e8�y(i�Q���x�u�z�{��5��il��,T�pq�g�
��a����-��5$�`��c�-"o�����xܧ܍����oE={�L<6^k���0c�P�
��e���)	�w�q���	�k�R��L'��g�c�iWJ�w"��8��B�L�s���5/_�95Yx��.�}gi�|Ѩb�r<�@J�����2��g��QYu���P�c�w��!pJ���4["�:���7_`�����5��@�f����\�Zݤ�LH���̣l�Fe�Tg�L��ǣ��'d:">;
�z
�_ՁwL��i�0P"`oxbM��AH�fWz"�VߨK�q�΋�\O�>EaC��v�2Ԩڔ�㱓�y��hب���pFuJUѤ�[�#F1�s1��L��\�N+v��TE׆cr�����ePU�����ub�)�����)���ӨQ
U�l��Qר�qT'ʥ������������j#�2$p��
��`r�X���e���_����o���W_�xɟT��1�x��ƣ��)#�R�q<J��@�j���Q��9����+1�3R�aH����
	d�#��������β�Jס�r-��ڌQ�����R�S<R���*7*��㑳���h��ԨR�.>$��紴�`����Y+A��И#��53�=���J�U�Q��W�9��=�ۣ6ۅer�=ƴ�������nn�QԨ�����ϊ"�M�gz2�u�=�5�us�V�W�e�~�/������߹sG�{�ow��l�\�x̒�RG��#�7l�=;t���`?0�l$�d��E�)VIݰ�Z�+}D��U`��}��`-v彃���q������MT��9��h�W�Q�Pb�k-#��JnT����o	aX�뷮cv�T��cs�8$���;���69�����*�NT�G%-a�R��:
���#�>��w�cd��,��U�,���	#7�ּ
hoo�ݻw�q�0$�/��'�IN
t8�w��ɳ�������F��K{�P=���+���ݵ�ѭr���#�H^�l~N�ǡ)}E�ړ�f��Y�k7�b~�\�|��ט����)�)�.��J��c���^g�?ڨ�:��ʪ˖a�)VR���
��>J�E�9j�$k�z���`�։�2�B�@�9��1�v����2�c���k�)�
U7�GV]�7V]��nw��h�A4i��!)��G$:��:ݍ�6�V�#����
��.�W�2��z�4�:[Fj������Tg�`:{��'�Ӣ19y�P���k���y��%�m��]
�����Hu����Qy��lg�xi��Jg�ua�>"���K��u�3��
k��X�����/�y�.t4;B���Ny=L�'�.�Q�2��c�сC�Ga.[F�R�Z�F�HqFp*}�s�AXFO^��'\�5��ܣ��B^:n���k��"|��ţl/T�(�U�z�x�uB�H�6��v�m���0,i���c���h���
��w�;�W��!̦K����T�@@��
!&*������v�Ѫ.�,�)eː�7g'�u�7���cqZ&��o�7���	��g�ݘ�t��ڥ����#�o�����
VѨ�zV�*{]�̈4�x�-#����v�0�Ù����C8S|sS��4E�i��'����]��&�͑8tg/�g�=������I�G�w�Fծ��F�2�s��NtL�X�Q,<�Dk󶑿��;��s�.��~əR���y�3��n��i���S���e8�
U����Ir��&;Bݠ�C��7��}���L)o^t���G��[�0U6i=����5��+ƹn��:Y�p�aՍ�];��=F���.�HY
�$'=xS7:*/�L�^{����,J��sS$s�@�N8e�Q���#��f�����.�]^��u�s�(�����H�9j���(B3��E�9c�+1��	C�YcD:5��e:�.������p��
%�s���7q�a���﷿��d��D��*Y�����|�=�%Jgا��r�D�5Y����~	�ޜ߉�>�K@<��5B[�-&���3��A�%����[�^�����z��>�,N�78i��[8d��i����_��5�63U�V��K5��43ʝ1K�	_���xU�k�R���V=�ڄ�u�:֍ov(���y�9˽aT�[��?�Ի�٫vܑ�U�w�_�õy�6���17G9����U�6˹m�s_�i�O��$ե?�IEND�B`�images/admin/index.html000064400000000054151165074530011104
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>images/admin/kbarticles.png000064400000005602151165074530011744
0ustar00�PNG


IHDR00�`n�	pHYs��~�4IDATx��X�g�����P+Q���PRբ"�H*!D�S$�H�-!MH���,�cw����{<��3�cn�}�<3��x7��ҖW^g�9~�<��&'Y����p�'z�k�P�h&{(��>���
@SXQ��Ahz���0���$�
�}�7s�3�7����JH�=QJ��ov��}�K�Q�\
��5�j�y3D���(���Mm�c����O��s>��M�G�(�
���?[�-=+ڸ$��F��g`�#���z�==�_���֤k�z�����8Y�G���P����Y+╚t�V.�����
�����Z�Z����H�����x��gd�D!�P�Z��gh�\!����|o�8�X^(
��`�D���{C�r�t|�f���fh��c��{��lFx;�?��_�đ��sQ�+u6Wikm���5�#���PX/<�x������+;��i�ͬ�zFH�$��qr���@�1�b�U��@r�
�Cu�rv\���~r�%#˹�^�dϤ��������z�iU]�#Ȫ>��a�]A��Pm՚���A��eeϣ��h4j4��z6����Z/o��mw_���
ڎ���t��U�y�ɴ�qdqY��Q��[y���-۝�xlo�I�aX�����A&+���F��k��O��/慑�x��.F)U�h�=�Φ�u�J*���};����K����aل��~
�]�b���}�{P^`������Xi�^mV�Sǁ�tzЋ�ae�mY�;��Xk�^{&�avdb������?�=?�Jb/��z��j�pn�ƌ��G�W����ۍ��d�Nw��红�¿�B��#�j�clc�z.\�$��4�$&C��v-����%I�T*���p�^Q\{"�чE������nпY��95��9A_`�NW��N���5;��cV�g���^�U\���7�m(^�VA���CJ�w���r�z~����k�/Q�;�㈒Z���6/�Z���k�&{�X�Y��������r�l6"������${����ah�),�ŭ���K�>����W��C��
Fɖ�\���	a��4��p�<�jt��<��~�5�°����Eq6�<��>Ty���K�\/���2`��jٶm��؁�(����7
�%F�K�iA���zCYE��X���?
L���B1���g��z<�ym�����3�O_+>�A��I�mU�j��{"���"�ݤF�=�Js3CA�A��$�.a��P��2%Y9�
�k���T*ɲ<-x����>1�����Ǘ�?�����SWro�mx�e�@��թ|
��ʰຨ�>lz$Ek���\|�i(�A�q=χo�le���8�^���3��^��"�4O/S�[�}�r��+Y`���04Mw�x�V��B��4v4��Tm�Hp��@�
`A���V�7Åx-�ˊ�lps��6�]���w�����;��
�2��0Wa��C�0
�s}ߕ
����Y*Sf
���0P�y��4�=R��o�6�
��Yb��f;�,�����o���㋻?�G�Ɖ�mȪ��Z^A�F��e�9�)�!b�(۹��l��x�x�!�d�=h��D�0�I��gx)�y�����o?����[����e��2B��4E��]
��m���Y�	�[�ŵ����(�	_�	>�T+YsC�=��'B��j��g�>vn�~t)�$M�@	�|_QU�ѱ-��L�C5Z�-�+CI�G*����F(
0Y��,@�(1(�k���ʼ0mh��R�����������_�^��x�
z����e4�F5�8�Xq5�G��D7�wӕ�"
KA/�<�=ӲP'Ynz�0����kz"�h_R~�����V>{�g�<��vw
ɒ,��i�@��n�@5re&]�!ld��c�PRP�wrt��DՁ|�N�"��Ѓ+'���@�B���V��o}����g�<��ʻ[u�Р�V�7]��
�!�$c���t{#C�
4'U�,�����`�v:&�xp4��N�3[	b��S������t�+/�ҟn=���No���(I�Ї^����k�N0ԑ�1%�js�T���*S��1G�+��2yqb
CX���i������b�6`[���0��K��K��khCIRUU�TP��f�R5.Ӑ���%E�]
�4L\�����2�:�c�N	3n,h\�Ѷx��i��{0`J��4`צ�>��Kb�!p(�����G�����>[�*R��貖e�t@p����;\hPٱa�t4�#�a+�
WVV���i�>2kd/:�,Ix��,�
��A,#v�'8��P�7��HE�t��W��Ȑz�7���"�f3�ɬ��-//�vw�@�
�����R����k:����lRB/4`PE���2�����ߐ>i�
�@"loo߸q�
��
����?�IO>O�d`)RM���B]Q5�]�h�i�G=���/o��:��	O���o�2tf
H�C܄3�i
��}�3�z����~zM��#�8���P���'
������A�Aӈm�*p�p��C/��Ar��O$��b�<QQв��͛7�Y:�F�'�g`��WH#6x`̠iznH=Cs<<%0�
&U+�D��H3'��[ɂ�e29��E��aN��W
�3�`���UЀ�
F�ɀ	�z����\G��uhg&�G`_4`��HO  �`�|
lr��)T��V�U�T
:޺u@�
��ќ�����fBB�$Jƌ�91�KIމ��蓺��:gs������5{�+P�IEND�B`�images/admin/kbcategories.png000064400000010103151165074530012253
0ustar00�PNG


IHDR00�`n�	pHYs��~��IDATxڭX�s�w���{37s�!�&�eK6�ۙ��r?\r�l
�@L1�@��+��n�X�U�^��"Y��,�U�%���|�#J(7��;�˯>|��o��;���;;[��X3U%���k]�=����g��G���8��[�JoI��t8�ܑ��q	y������a�8�Sr<��Ѩs�'_��*;��x���g��9����>���ӶR��q��}{��߲n�H��~W�U��E'�X���&��)��w���z���?��pN�Ɍ[���p���i��f��mB�<)o_�	\ֹ����Rķ�]k{k�+�Ą�>�>0>�����8��iw游iL����@��`��0~Y/t��lo�?�}^�_��f@b���l�ݓ����P|��IA�p���6���k�D
�I'k��&Ϊ���Qӻ<%pZf�7=����_�V�۠�µ���Vx+�ҡ�慟L���؋�Uq�=©�T�9Uc†1j�tN
��QM��R�G���t�5��u<�2���y�����^։��pJ�rC?��e��A�OSc��գºq`H�>����fT�9
e~��4�Z�d/�,��<������[of���&�]���ۢ��	W��_>J���bU3KT�r5�Z+�5L��tRD2�{���Dߒ�e��L���|�܁`9���O���@��
�@1o��g\�9�^�wG��N�{�pu��
i�C�"%�|�S��7�	6�⦇��9M/Z�/M0��ܕiުAl1J��e�y�Ǫ��Xw���
a5�#�]����G3�%���.f���*��
P��e*vH��Հ��%͐5�^�5��_#��I�z�	�X��Զ0h_t,
���
��ua�bbt�?<$��G��C&}H����I{��!f���*
�4�k#�^��fP����Mz��uV��p,
;��n��a�8-��?"��a�������/�8�r�#��&�+YO��;CN����C�e_���H�MHZ��Aͪ�$�(}a�6Z��"�-s��ܾ0�4�\&���a[y5C�<�bb1Z�cϿ�����ϳBN�^:oX���!>��;CA�d
3K}$Ujx����&j�A�AE2�{�j�Pͤ皦��Y������^�
�N#���n;�e���Y:%')�X�Ġ��}9���\�3���Xړ)��*��l�I��q����7jȾ�C1!�+S<ĐQ
Nr�53*
��u�`[M�����'�n]*��ۣ��/|Xu&���	��֦�/�+���	ix(�4�(������Qa=
��U'mL3J�,"	��X���6��-(V
����Y��kӯ���^"h�xU���]`~ĩ��O�u�þ`6F�:�9��\��'�����䁍���|Ui0C`�A��'�$�1�l��/��A�D���~���5�(Ƈ����OP�|V
q0"����R�s��R���X�i���&^GD̐�2e=٠F��Rï�&`�6��)����(kPͤ�ؗ�4�.�b��p��"r�Z��9��ݱ���w�b�^��8�t��!��_�[C��HЕ�$��wgHIY��NԐ�ɏ�6���F0�訲'�
�s�Lz[����a�wsH�N�gcc#��X��9'(��{���'_�0������{�0@�j~<��@511����%��b�����SM�
Y�RtN�Aۍ�ѡ!��U��Ց6��؝n�AIkI�3�z<�g)��c9�V�_�
��u�<�����K�FCd_s4��G@�Z�|�	m$���
��b�����Z&�A��FA5:�KF/���lv�ݲ�#�n�wks����-�h�:���!�ya�IP*��u�_SkB�5?3"�����;���!@#�ͅB�zD��Q
L~�0!
�!Fz�#��I��3�l6;��a~���<����_���-��^����s�y�xa�����ȿ�V�&W�è@pB1r��	���/hu��FO����7AeO�۠��	h=��.L��-IӓZ��e�Z3����m�[�c��Օ�KV^��7?z`7mϽH���T~�R}�Vw�Q�@�~�m��wI	P����W�	�
ɧ�$A���n��,�zFkژZbm��ŽX-�~��v�è���n�>/�3$֏��R�"�w��
W�@��Ԛ{����8���E�t))��
5V��]�=�h�r�`_���bY���2z���fw�76�m��xxٶ:_�e�7�s�㢨3IA�|+�<C,�J,�F(��Uݦ<�K���G���9����q�.�Z���NBmD/F��ThC
pN��zVI��i�)s�îWҘ��++&�3��B5(�G}��'��O��9O��i[����+��+�WO�Mre��V{�����
�(��,�؈Y
6�B_k�5c�Fh=2�{-	c�~��i2��mi��a�wck�X����^?�s����֝��op�;�.��v�^'���
�ֆ���h�a}M��d��T����d�Z>Z
QC��#~-�L�dP�E��~F���2/$K�x��Y���lɗ���~P��K���6�\y̗��hf�Þ�`�P�S�S��<
�Ą��c�F3�7WN�'�|���Y����xu����ʚŬ�t1��V�V�׃�{}�C��t*�&�,�w;�*�P~���:�
��|$��~F
�l�|
Nt%C=�	���ۨx�U�*�SA��;)�q�#v�cN'���M�G=�ulhX��g�?�@���r
��Q{�5Jm$�+���lԋY�>���>��O�R`Њ��a��P�yMY����Ֆ8(�;<+�Z>{@Duy�af�OO�yHʬ��I
>!��6���X�LiŴ椶������mO�ք������9�1�;�
4Բ�	A��3K��͒�|�غf_5��&��cb������5\?a��?T&|�മ��>���3��;
o��Å�L!��1���n���$�|��Be���v����?o��ZV�G���9�4LP,��&��g(-�kR���������V'�}Dؾf6�tqV�'�t��T�u�H{�
F[�#~g�o�d�PҊ��Zc�vH���W�\�{+ell��C������j6��*�ۜ�Ou��v�����V��ߟ�.�Hu]�!��b�E)�2��B\2
9���#YH��y����3*y��݁M�/��1���Kۚ�n^]���Pڋ&����Sx]i��h��ɨ�3��f��+B��w��!V���	�Њ2J�9ռb^Y�Wa�YZ�?�����ts��.�˺���8;-��v�Gv�f���)�tnB��[���벩%dr�C|�O|��[�Qq�{j��uj��j�ћ��~�g�����'[��N�c
�k�h�z���o�;�Ť\���'oV+�Xw\b��T�	��!1��$r@@�gT��<1���pbbL��1���#7�-��r��v�mqqQ)c�Ķ�0�㥔�~R��;{Z�q;�a�Wp�y2N���\��+������E�ǻ���#��@�[[���e6[F���jC��^)��˩�d���E��iiA?L�6%Nh`d�
���n�^f���^��f��hXcjW�Zp�����Z���q)����]�dZ2���;�$l�Zy����w�ϞH��r����üj�ҍ��mEwHO�$�b���q)~uqr~J�`�1:���ߍ�[Y�Հ^�����{<�ӹ�f�X�3z���<_�O)��4¦1�ڔ��n$����?�9���¾�#
#�hw
3R.W�YrWB-�7'�$�&��z4o�Jo�<=��儽�b�-,,��=
�β��z�ם�?��I�+�����J5���_�d�^O�A�,���p[[[����+jHWIEND�B`�images/admin/kbrules.png000064400000007103151165074530011266
0ustar00�PNG


IHDR00�`n�	pHYs��~�
�IDATx��XY��}�׼�3���/�S�ڇ��v��!�N]i��;����1#�NbK�!+�xdˎ�X��hu�$�Z[�V�w��S{p���&$q��
Nd?���-�u�p!���}���:_f��m�����~�߸��w(]4�e>��
���B�����1ZvӴ;>Q��0l��8Β��0Ͱ�W��awo���Hq|z��5�j�1Tj\c�!ZIH�8��t5�s3�Oz�5[n��IC�����\�?����،�����R^���C5
�8.R��
�}@���z�hۦe���i�lV<G��$閧'nھ��G��!��sAR�'j��`�~*-��M�m�Z>����r�p��-˺��b���ډd�|V�A�c�1�r�^k�u�ˆbm;Qi�p���x�H�*7��Չ<�U�V����t�<�dwܝ��G�j'��Ñ�Hy0Yk�&���r�(�d4Mer����8����v�}_��LR�
3��\d�C���"+wl��
���l)���2S�uݸ�u�N��:��yh:+��4T�H��=S����Ǘ��a*M5E��V宍��Vbk�lq)�O�h�.�lg�Ľ�,{��i4$I¦waȧ�&����-�+�;[
�.j�^d���l8��$sY��t�C�%Al�lE��\��jF/7�ǖ�ٛ%�����P�E�uE}�&��D~�4�s�:a�n�����e%W�Dq1J\����n��Z=Kq�J�*5IQ5���J�(�r45�s��Az�Q���ۇ�7�r;����v��8�Es5�g��m�.�J4�2���M�n���H*?�cLE0-7*}{%�I��|�����r�a�Bc����7���=�X�R�a��"���D��j���m�F�0
�

�-HKIJ�7���Mi+��y>�H����;�帹�A]�2����>��>�y}���b��ag�}-M�Kl5�),%]p�&,��7���Y��R$]���a�zm(�J�@O���w�����֡ԫ��[���
���x1���S��n��_�0����B���aY���,��P�n��F~��n�Z=�;,���Nh�.�6����s�-�[�$�҂m�҄QBq&@p1>a�&�Ir�@W�Ћ,�m�>+m�I��D��w��Z��;�j@+u��b���~q.��q�:8��4MQ����,�b���"�p"?˲e��T[-W/�0�����^Rb���y�R�^H�]4���=���'֟
������_]��i���QHE���-"��r4�I�f�I�V���x�%lT��a�`,�����-{�C�X,&B7��R:z�D�i-�*O��:~v0��t��45UQ�JM@T"id�T��	�ނ�@_�H���w���5��U\�EU�&N�UM���C�4A��fh�H;N���9�|t`aөЦ�!`"�zSQ$I�5w�|�C��$ȅ�L&O�R		N8�h��ѹd��'ņ���W
MWAO�^����b���0Cp����G�Oz4p�&i�M���YU�*(M�2
�2��SCǙP2�Bʺ$�@^�M�.�)�%�"]c���s5Q�h��*'�U���ji��[�
��*[�E:4���cϜ	�隡)�(��r,��W\d���v)�
V���(s�t&G��h�V��˟^'�g���Δ^�g^N
��3/E�k-��e�Vo��S�r{xk(R�a��Ç���ၹ�S��*5��h(*l�l��b&W��[V�%��#�07��<�e�G��ԛ��o���X��x�Xu�R��`�����Y���E^-xn�oah�<R��>�~��,`m8��gyI�@	�r]a
�G]S�&f)�hj!�~��rCi��g��N�pc�ږ�w���o��ɯ��F�Ǔ�uӥM8^H���Lv1�y�[(P2���7���7�f��G�����RKT(�bN�-�*��r���(W�Y�^L,D3D�T��T-<Y���7Qxn�Xs6�����DZ0��O}�l�̚O���ɇ�&��|g�6�d��”��
�~o��&���ѹR�x�V�JC��L���$�g�i�
�����`,�%&r��K;�g7�^��h��'6���4KV��jJ���`t�G�9����5�\Jm�WV�}�^(G&R����X�o�;;9K��fCIpSb8���x�=���L�24[�������u�N���~q�|�H�[�Oc���i��*�f��[���[{���?����op�!��������woܿk�_�]l��UeQ��<͖�|�ɤ�B�R��.%
Ģh.NO�I�P�+�&ޞȽ5���ѿ�x�Y�k��PZ�(�9N͖�fͮ�X⮟�l8�%.�l�ϯ,x?�g�[>^���'f2�"Uy^EI��!�SE6�r�4$�Q_�-�T�ș�SQ2zd��Ķ]��|���|�~ײu۱z�~����,?5ںH[yA���_*����%��
��%��"W�k�E�{�2�K�+Ws9z6�B�1lUlaRVJ^M�<y����W/���~s�>F�w,'᎟e\�9}
*�MT[�o�rllljj*�!��d�z��%�<z�>*�ɲ��q�S.p���S��|����~y��6�ڇ���!�+��7���:�X;M�Ô>�mo����H.����Á��M��$�{��
\����@��~,Y
��Ϳ�����~௖�O��X���O�ʻ��@J��K��뷔d;���������---�,�>55ӯ�${�=')d�If�k�����g����=۞�n뺜�����澰r�ҦX�tX0,���k^ġ�h�uB/oܸd�x���n�3SP��W����O�m��T�SY�'Sn�s����y�j^��i��̖s[�_Ab�Z�TO@)gff�<p����
���*Qӌ�bWbo�`���l�}۰lg8��2Z�1U��U/$d��#Y�]���
�
�P(t��up���HQ����]��aTNs�M�������J��y�y�}�je��x2*_J�=]��S�(��n0��
"e�ۘYVFS����_�Rz�
��,�w��MkU�6[���s���܁��b}4%�\~�f�*)�K
+��0������L�SEE{s���	��"������׮�)����j�m&'�1��“��7�GCR��rWջlXݎ�{��4à&���L�Ӫ�de�s�
���?)��d�c������^�����?:J=z���S�@@x{�%kj��/׾u���*�s\��Ʈ��.��S������������!j́����?9J�?U��g��+;���B�����=Jٵ?̄j�f�泩D���_)��
��q��3ŧO�Sx���˗�W.��>W�;���ӳ;�%�)��[��E�
�eOҞ1����GO'��>y4����ɦ�qn�����:+[-�Mմ�Ѽ#>=���c�"ŸJ��0IEND�B`�images/admin/kbtemplate.png000064400000006434151165074530011755
0ustar00�PNG


IHDR00�`n�	pHYs��~��IDATx��XYs#g��O����+���a��$@�BBH
�I*�f&��X�7m�n[����.�ޭV�ZK�%�s��=�A�}��7mY�ѹ����:g�r�<��^W�z�i�3��I�,]��O�-��{B����,,��|"S�V��r-S��ohQ���L�N�
!{��Z���`w��O�����V�L9��cSl��BW����h����b���9���?��5�g����r|^!F(�̈�f�F�9۳��Lg�qf��v���-�9�.��r��{���s"�����yE7m۞�}Ǟ93�0�f
��,�O*���L�%M���Ec�`h?��ápd����"q�D��b,�Eb�h<��)2��p8\(�@�9sg�p�s�q�W7�.��ʈj��C�Ş
p��/
�//J�(
�,J�(#ʒ�H�,)���(��ʪ�(��j��Uu00R�|�s�_*�I�a��9�&�a2�N���xj�m{�<ڳ�lFy�l��9e��v"
\(�p�<�5��D!I�#_�aj��?0�����n�x��iáaZ&������hh��I��#��a2�L'�H���8x7�J)S��E��B[���{��owϿ���>_��?�
��` �CC�`(�#���Ɉ��
ӝx"�PE��0�
!A���!�a�f?ԝI����p4�ا��,��SD���!�=�"���q1s�C�dX,�;�R���|�"i��O\X��ȵ�D�"3M.,嶆�j���q�cz���\'�:u��6��_�`�*S4�:k4O��Z�A�՛�f��l��z��h��v��j�Z�v���;��v���u�=3g�8���2"dS#���
)#�T����D��@�(-'G��zO��=��$��D,�����
	�A�p4��=Y|{S�̓~�f�M���2VJ�23L�Gc���E)�ZS)c���3u#5t�iX�(Μ�b������ʋ�}�J(3vf�mĪ
�RWVH�y3��93O��%�kHԙ܆t�N6�@4��N����9�g��׫�z���GWS�!(���5W
%�R�D2$c��X� �<H�H�G)�G�G�)
u����z��`�o���t�?��l.���Sj+*�I��dM�˙|>�/f�R�P��|���T(U
�2C�X)�ʕR�Z�TʕJ嬕��-%߫�����'���k4˧�z�z�"i��D38c%�8��H}c�-`0�#ı1�<�#�L�HIdq4E+rФ����Z�{}�ͷ�P����K{�΍9��5vY�PO�]G�k47�s��0�
~&�&�}̊	�>�̖\iݬ�d���n�y~\�m:��
>2���!g���B=Q����j;>�gkۻ����������n��m�0R���v0UvY�1av1a��}�ts)�`֚�[����B?͕�/��Ţ�٫�
�Z_P�v�o�8�vO��|�����A�i�A�$�'ȂhͣwF���m>�V��䇊n�N�8A�}�����)S`
^&���20Pt�&�Ap3�&qp���e�l���2ח�Kzv�������ܱ&6�
��t�2�P7+���j(�6G
��'��'tyR�E�'0yD�Q�yl`r�o̺?�6^�E��>��yͱ�ѥS
9o�"�+*�Ż!ekw��wû���3mnm{������W�O���aZj��µ��z�V�\+o���Y5�5��tI�mEB���H����N�H
U���DJeG9Úh�ȧ~�nY����;���uk��x�L�L�"%F����
A��(�U%�F����58��܎@�h減�3�^�s/��[Շ�6c�`�ir�ӆ��o�i�h��=Ծ$t�˧2��L.��gs���I.���ӹB:�O��|!](W�G���K�p�忙�����b�,_BCg�}�RE����>�T��B"'�pR0��H
�#`?�DB�(�$�h,��L�&��^��7��m.�V��Ì����I$��I��<�@L$±�P
���$���B��V��EQ%�H�GY�`���/���cG�Et�������MI�̱�>N�{b��Ι6*>}z^���x�Y��Bm<�i}��@�6\Zdm�!�k�f��_�z7&�;�[�G����r`ѨAYPAh}@A�uz�a�1(4IYQ!�Q���֞o���w�@�
�y#��RE����9��|t��{=��5<��þ@��8��eF����j��
5�PH�v_N�ŋQlqB:_L�
'��'��	��/���FJ�R�$�:ۿ~.�Y�V�f�V��b��p�#�{���ƔP�h8�Q����h+)*�u�'te��U^�xE�ľ�j��$�l��r�w��k��ϔ�ߑ��U�ۥ��p.8�N}��N�L'Bx\M��501��BD�1H2&�)JWK�hՏ���<��7nq�SY�	�K�w��ک;
�s0��(��2h��f�_��޽���C����n�����w3�ו�
�Ww~���κǃ�Z�����>�b�x76�6�[4|�>;�֮/B��y��f*�7��Y�[kuj�N�ӭwz�n��n��K�`7��N����崷��"b�"��ЯG�Wv�//*�m跂�b#}
į����z�k��e��V�d��/����O��{7��힤R%�'�)��𬨪�A�$�A��rʐ�Z�ˣ���WN@��pzVD���i��魗����e�D��ƴ��Gb��O-�ȩ�4�x�WS��7���m2��&���l�:=^/N�۞���Ԣ�2%�!I���eJ��K�K�"i�IL3FH��A�jɾvD������@��
��B�ʗ����p
��P!6��\���I��b$�d�	OüK�q3�J�O�
s��K�s�º��d[r�Y�K��!w�{��n0��j<���L�.���)�L'�D�C3#��,����`;w�G��>�Х�x0�6ۧ��i螢ЈS����
�
 �1rƯ����cW"{q���@��#�!�[��ry,�K${dY;��6O'�.9��ލ�&I�(_|P��l���\d����c�_YiT����b�+
��s]�kgg�Xr}/��z���
�cq���([D/�sױ����n�aSl=��e�B.!P3��h�q�
/l�M����a5���xh��!O_��n�M���.��r��+�����`�U����hIEND�B`�images/admin/knowledgebase.png000064400000004441151165074530012433
0ustar00�PNG


IHDR00�`n�	pHYs��~��IDATxڭY�[I����n��7��r(��(OD��k����n���a��o�LSS�^�ד?�}��ct.���Cz��˧�\����;P����~���5[�Z�)�e�V�T˕Z	�L�P�F���tq�(��->��/P�t�ݩ՛�J5W,�sE>���D*��sɗs6���l2���bE�֛�6E6��{j�ģ�nG�PLe�%��c�)+��3�АKf"�T$��%Ӹ,_(7���5�f�<�`��F:_�3�q
�ca�ψ��E��#��c���`�,T���=C�@V�����34Czؙ!��z�&�`�	_*W��/�z�t@bD�0nFYI�e&JLz�g.�O8�N�;���C@��d�H���p�+@�3e%Ø�1J2(�9!P���Z��;2z��z�z�!���E'�B��2�r�`��@0z�O	.ʇ��f�%�!��e���s$���J3������L����(���p$��=gוjM2�ʲL�]�\*�g�0l��ʋPF���)��E�A�
���#A2
x�ҖN�=�߂�L���2�2��at���+�@�L2�E�Ke�=:�Q�V��e�~Wh;�=D��l�g�E�����34��|L���S<���?_�xu���P��b��{�ճ����[��4
�
0�?�/oç?�ǧ��#��~��iL.��d?����n���@�0&
�3�b������=|��롲"d^����X��}[Q��}�ӂ�۪�L/S��6o(C��t:B&HYEe(W(3���Q�A!"�
\���rp����uyg~C��k�k����k�1�J5aH��;�;*�)C�}��zh6�b'�7�sm�Ϛ��\�����B֡���ͳ0T�,nj��������!g�˒���zugo�!8Қ\�}���2���74d���wJ�<=J�D�}ж���&��v����Ճ�$5d�Bo�s=7�'$9t3"�ޫ�C
�!�B
^�s}���8O�;55F���q�\@�\4Y��ƎQ��&�C�
#bm��\܆�Oq���$��w�Z:v�֣�K0��j�L���Zo�
e(C���2�4��X�T���'��`0A/��vLJ�{c|�!dY����o4n�d�.�f�O���J�P���Vv*��h�8<�WA.�+B��gTe�l(�|	��a3��a]TM����Ժ�њ���C���6�5�N��iu�n"P1�G�#�P�4�ai/��D�B�!Ӛ]�J��������u
"(#I�N��uj�ƨ}�t��z"�6Ԣ��)39u�$Ы�c�M���Qk�!��C�e�+�w��s頵�
�K�������\:���,p#�R��2�E������i?]�`�����頓Dr�qCE��PUa���3z�g�t<g�D�
�^-��a#�"/`H�6��)]C���gq�:���j�׀��Z�&7��Î�jr��x������U�*�蝩���{6���k�:���}hCH`�N/��!��5��yq܈�)
v��9�=K��_���e�A�io��sOI�bJ���A
	��౩@�L6�ڼ����C�y�0����T���̛�Gd��1��l���KO�D
V��E:|l
�O�����ә�(��՞Mcr@vf�	6���ƈS�&ڐ�o��L7�
b/��c������)�l���za]���~�A3���Co}	٫�~��Щ�1��:^4�Ѿ���CA44ޠ�:5�����C�~�tH驩S#y�cH��t��c��q7���L6��K��Jg�2��:��	
��iJ��!8u<I�+:�t&#��Z�fs���:����)C�Ȯ���z���t�xpdwaY)���x<���Z�b����_�(���hq���S��Xˊ��,�Ӄ�fls���U:C0�AC�5���m��H{���:E6�
&�J��0dO;�[؉��X��y�ۭ��-�a��V��Zm�'�A�U�\����e(��*�6�˛ʕM�ڦ\��t8]XK��������j�H�����j���0�mˁM�3n�j�ֶ���[��e��Ź����Ս-��`�|�H��"�D�7���FՇs��*�������ՙ�||�t�'���x<~�������R��[��'���K����3���k4x�:=����递�'�}���km�,��IEND�B`�images/admin/loading.gif000064400000005514151165074530011221
0ustar00GIF89a��������!�Created with ajaxload.info!�
!�NETSCAPE2.0,���/����ҊR�wg�[7�yH��s$jum��1��|ӥ��i�ff>��7����	�=�Q�Ժ�R�ڮ��冽��Q̼��ip]2�sc]I���7��w��FX������8(���(	�g�e��Y���I��H
�8i��Xi��:�*�z�J�:��*k�[�{P!�
,���?�
��kq�e!���ف������^J�j�7��y��+��2Ć;�O��Ĥq�&�Tg�a�Z�6&�z�ݲ�|6���׍^Ǒo+�Ҷ��y6
(��$6�'H�ǥ�H�b�ؘX�xHy9�ׇ)i��)
Vx7��	:ʚ����z�*[I��K�˻���;�+\�iz\;l�<\!�
,���?���
�o�j��Zql��xm5ƣ&f��q�s�v�]ý���X���
�A����(s���4��
�&3UF1����4M>+��:カg�[N�~��%��gH8f�'w��98���)�I�Y�����V��yډ�Y*�@�i�*�
�:��W��K�z��;�{lk��R�k������W
=}�U!�
,�˜?�������g+�w򝁖�y�iE��>-Z*\'0E�7
�9?{�".��<*k'�h��!�b��ڜ�h���Ă��HN����
���Cz||n�j>;�7�`5��������FUX�H��ֈy���(�`�g	(z�9*ՙjGjZ��z
K�i@����:����hW�R��+{����:�j��,��ڌ�\l�:�-|k�͍L}��S!�
,�ќ?����ҊR����xs�|��y�����S��a9�uzw����CH#v�����S	%q�T��Iq[]�ej��p5yE�p�̅{�`�x�=�_�f���'�g�V$H8������V�8����Xf'i�t���w:�zZ�6i	�Y�J�j[W�x8��zWk�|��{��7��(l�-K�l]|�;�*:�۬��\���,+�M�M~Q!�
,�՜?����ҊR�'�x�����e�=�ղ�ɡ)�ۡ>�����L�HՒ7߉����%��5�C�5G}��q3|�f�[.���u
o�l��h%8EX���W�ȗ�g(9y�d��ץ���WI9Z8��vڇ��*�J�j�:���X*��ʻa�詪�{I,��F���Xgy�{}'��y�
+��k͈��l�l�4�L.��N��mU!�
,�ڜ?����ҊR�w��\��}���"xv�a��;��ݥ!�+#��
5�v����͙�mtS)�jcL���5P����:�.�`��Ú�tx�.p���pŏ�WV'�T��ƥ����H8Iy���	���5iyJ6W��x����I*zV�j�:�J�7��k([�{����ˋ�j�i4��{W�<})�|�i�Y�=j��Ɍ�����+����/�MN=R!�
,�؜?����ҊR�wg|�{�}](���e֦5��-�ʊ8.8��h~é
6"m�@j�X���^��jaƤ��]*+P��t�H��b���i`�zGcSܸ��F�GF�gg��V'@�$��ƕXiv8���8��	Xx��i��*�9(	G9j�G��
9y����Ƙ\��z
{l,"�K��Zċ�,�:���m�]:�K��}�]�-�L-d���	���8OZ!�
,�՜?����ҊR�wg�{�
O��蝙ձ
�j����|+'��&��
3b��%iK����K)`U�rV�Ч��s�[�ڳ��š;�nó�5Pǫ��1��w�G�s�ؔ(���8�ɣ�F��(���Hghy8��H����YjyWHb�ʊz{:*�;:;F��+J�{ɉ��ܼ�,�{�g;���;$-Z,��Z-��Z�m,��~�M}R!�
	,�ʜ?����ҊR�wg�[�'���aifV�~¹-�:�ӊy.<��
2��h�%��[���P#�h�eAs�l�{�M���=7�뭓��xe�:����{�?6�FȆ��ا%��3hw���VG(R�Y���9��gI����6Z����J;�z[{�DJ�if+)��kZ�kL��,�(;}�;]�ڛ�|��m�,��St^!�

,���?����ҊR�wg�[7�-�H
OIfV��-ž�:�]1���SA\CZ�'L���[3W�(%�j�"��'3�3����՜Eo�lc�Z�F�;/�9W{��>߶�h�W6�g�w��	�(�H��H��5��ɧv�Y
�z*$*�G8+8[���J����ʻ�Kf��+l��*[�Kۼ�|�8��Il=|<�ZR!�
,���?����ҊR�wg�[7�y�#���Y�������=�����Մ7b�*W�$3�+-{�a�x=6iXf�S�Vrw�.��Yg������6)j�q�f��/X���hH�(���x�����W)i��I�Gy�	:�y8y�)�Z�x�ʉʚ:�P�;�jJ�p˘����	ܩ[��+��U!�
,���?����ҊR�wg�[7�yH��s$jum��1��|ӥ��i�ff>��7����	�=�Q�Ժ�R�ڮ��冽��Q̼��ip]2�sc]I���7��w��FX������8(���(	�g�e��Y���I��H
�8i��Xi��:�*�z�J�:��*k�[�{P;images/admin/minus.png000064400000001652151165074530010755
0ustar00�PNG


IHDR(-SPLTE���ҝ3�/�0�-�Փ�r�]�Z��y�z
�h�h�e�ȁ�y�h�h�f�ǃ�m�[�X�yҶnްjްkޯjۮi�ݳ&3P;	�&3&3xF��&0�#݈`&3(&3(PF��&0�&3L&3L,
h�&3h&3hfeLfeL(8HdiW\diWpieH�ieH�paC�paCnoi&4(&4(ntB�
ntB�	ntBcnal%�@%�@idEupnE���8ZtRNS@��f	pHYs��~�CIDATx�c`�`dB�,�l�Ȁ����	���1������0��(2g����i
������a�<n�IEND�B`�images/admin/native16.png000064400000002631151165074530011255
0ustar00�PNG


IHDRK^��tEXtSoftwareAdobe
ImageReadyq�e<;IDATx��WmlSe~no?׮ۺu��p��M��f�4*�(H�"&
����F������#��`�� �QP�,
"�b��7�1��ۺv�n{��}˽k���v;��}?��{�y��{�D"��12�a�g���b�LH�P�xub��ƫ[�ܥ����L"�`�q�ŷ��z�\6�1Y��s���,X�v4�p�3�ј
�]�3u9�gG
*c�޾i,���㣗!����`Uy�pZ0�����m¹~���m�h<#���+��/GXR��-��F6�8�w8m�8ۈ���ϝ��+��/}!]fuM�a�w��ȏ9�6�k��zL����i�M��$�p�Tj
ĸn*ŕ��4h��ǎ�A�@QhHȵ��"��
�
F�ɾ�a.{-�.2�e���쭧�[p�˄w�z�
�6Ի8�S��>������M���V<B�[u{�
�^`T��̱q��2+_F%]��h��M>o*(&�ł���m��f�ю�B����'L�*�f�6�l&z�[��
�4�e[D��sa��6>f6T�eM����,����f�9.4��`�l;ȁ�|����l���˱}M�p��k�'��(���b�
F��Jʼ�����S�%)q���g{�h��`㝅�v��p;L�~ʏ��(�e%��~���z-bT��)�jg��;��i5bd\���['�$m~|Ə7�¶�\��<�64��$_����eU��Pu9����Š�<��˝8�:��5���I����S�'�	Yn�!�,<�bp4��*��?,Q�H��	�Q)FYS��9NF��x���y��:xg�p��H��'{��*OT�t�,�pQ�E��f�˅�`��!^����+�߷`˒R��Q�c�����l���~�L�"�zkdZ�V�pw�;�!���"~
']Œ�\ʒ�=K��Ḛ���څ��Y8�D�^��!rf��u�<?4����z�S���y%BɊ�w9��<Y��g
C%5�����ƍK��h�g8M�=5�8�k�K:��2T0����|��M�SD�E�/e���j5	�ò�q!�l�d):*~�Bck[wbך��r�q�@8M^�0��E�z�[��������V�ƨ�iƲJ��&d%�pYJR����΃�e�ev=�@�����wP��v#����7;]բш�6գ�$A
�%p�'��,.���<������iq�R)X��%����Ȓ	��f�󇩶-�"���_:Q�U���ʰ��|D��+������N)�K1I�-6��eT:t���t#E�x|R���<6f#f��/‰X'~E�Y3tc�#YZ\�IEND�B`�images/admin/native17.png000064400000004347151165074530011264
0ustar00�PNG


IHDRK^��tEXtSoftwareAdobe
ImageReadyq�e<�iTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c061 64.140949, 2010/12/07-10:57:01        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpRights:Marked="False"
xmpMM:OriginalDocumentID="uuid:7EBAAABA8EFA11DD9FAAE23BA555FDD8"
xmpMM:DocumentID="xmp.did:1E3535097E5311E08F3584759DAB68A5"
xmpMM:InstanceID="xmp.iid:1E3535087E5311E08F3584759DAB68A5"
xmp:CreatorTool="Adobe Photoshop CS5.1 Macintosh">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:0980117407206811871FD68D23D5FB14"
stRef:documentID="uuid:7EBAAABA8EFA11DD9FAAE23BA555FDD8"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>E�N
�IDATx��X[lU]3g�N���m�Z-�-HK!���(J|�)�M4�#���/��2�_�PB�[�S�
�-Hy�-4���흧������m����9����Y{��*��0�-���۞�L�UO�-y>,���w�G��&,��G��Ф��P�ښ�W�\B�m�ؼzy-���|��7x�0��;`�=�1w�&&>}k~������i�A�"7!�VA	fB�Ѱ���>h�(�PԜ<��n���V�<u8����+�G�_��?���%&�d����
����2�(^�u�3?����2�?��e��u+�
����P�6��>����YLb��f3����f.��
�#�Q�3`�m�>�΅��y��_ӆ����n�Ա�au|?gL_Y
QRA�t`�<qg)�,�+
��-����1_���_����/����{0��ө
����1��t�k�Q�����&�]+/T2��9	5�"k	��Nԁba�>J��b�9�I�F��C��7�M�C_���/�jo�3��1�l�_[��Y��5imrNz}mu}�4}H}݃p��S��&�����K6YG��c�k����9	R�)mhGع-��
@_T!���#�7�(��}�4����)KL��e��~&6��v�7,����@�]���Ub�����cy���`�֖Z*��i�xx�;�n"�nl{�?Xl]q��%�e�Q��71B}���<���Um��L�%�>K�K�&���W�.Z��q�C��Iƹ7��ǒ�S���m���s��+���C12)ok�VV�2�=i}�.
J�޵�l����	�G�`Q�h��o��"����!(��jN�k�?q`l�m���1��8�{>�~�,��y��k�K��c�P.��	���uY+c�#��
J*�cTO��Ⱥ��\���[`��&�a�S2�\�lQY�'/�l�%��U=�ڏOE-E�Bcq�EЫG��G��?��z}oT���i��xJ(N�)L|�?cq�P	���]�&YO�zy_t/�.�9<�<�Y���	d�ߚ,�߹�^
"�$���`���߉���
@Boq/i��rr��]�A��y���7�z��gI&�]�|q�Y�d�ŵ^�	y)�Z��
�~��z�4rz���S�
��cV3��d�-X�Yt��bVC�Yoœ�Ԥ��J�9��7�Y���
�W��8�9�O{�IEND�B`�images/admin/native25.png000064400000004701151165074530011255
0ustar00�PNG


IHDRK^��tEXtSoftwareAdobe
ImageReadyq�e<�iTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c061 64.140949, 2010/12/07-10:57:01        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpRights:Marked="False"
xmpMM:OriginalDocumentID="uuid:7EBAAABA8EFA11DD9FAAE23BA555FDD8"
xmpMM:DocumentID="xmp.did:E22C8CC8268211E1A76DF2FD3265B1E7"
xmpMM:InstanceID="xmp.iid:E22C8CC7268211E1A76DF2FD3265B1E7"
xmp:CreatorTool="Adobe Photoshop CS5.1 Macintosh">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:E494A596202068118DBBE12BF99A3F73"
stRef:documentID="uuid:7EBAAABA8EFA11DD9FAAE23BA555FDD8"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>8;�+�IDATx��X[l�e~z\����[�;��c�N��	!�M�D/�
�xH�W�hL$�/����pC��H<����e�ucsk��c�vk������v�
�[2�������}��Vv��m�g9qz����\��!���x������M	���^L�TYY��h��TVE*$�{<�St�	�Y&�#�P��
�[,P��p^u��D<�Ƙ�ڽ	+F8A���}e27�9�
)P	H�S�	*�r���UA_j�t���((3B&�Ak�
N��h`�`:;<�Y�Q�r�U�O
0�f�>
�1�|}�X��X��
qe�E5�ӗ�}3���-�f}!���Y��@�y��ǑH�r8�(	�9���R�o�
�:_��V+�g�H�T)��y@���,Șo@�8ȆZ�B�vq��Y�]?�c��5���E�ԙ�K�2"�8��/֡��w���za�{o
������ېo�"�׫�tabh&����ia<H�$�s�ŕ"�����!K�\i���b*��R��wpZl�3�ͅEr�Z��T�1V����|~х�wU��HW\kb	))�lMt_Bcc�xV�T�n,&�9��o�#	���Er�Y��6���<���O@o��uwbEeq2|���^ӒL.K�܆qZ@L�(efr$��Cu�ӫ�kDlȺ���	L�3s�5M+F�/��1�N/���6ڰ�jÚ�������Uu�3��9m7N��9�}��-b�������;��_��
�w؄���p����:4������kLc,�?*X)
�d,"ȍ�87�(�*AY
"�E3sYىڐ�������sg�$�[c3�)����0�p�΃��X|���*��j�۠�SB�A�<
|��$�h���)<�m�4����~sf�$�sUݹ�.��7c�ܜՆ�Y)�Q�YvR�,��F�c%���m��;�fqBӾ*j����|Td��݅��߉�)&��B�3Bm=�
��I����G����fܣj��/f*�1楒���)qU�%�/W�8�w
�yq^Z�~���q�t�6��c-K\�RF\�e{,���Ih4���_�X,�z*�MU�)*m�h��2��Ƚ���B5~=�|��v���o���߿��5��}�G�R+W����b����hO��x,�U���}�O����{͍��z�X���/��(�&m�iO�x����B����s$�?kG3uG�&��͟�?�b�k([���3:�G�a���a�o*L�
����h�
��Ȗ��ųO�Y��m��W�q�s�X�Yך:Zu-K�J:
T6���1���:��@��T+p�tR�N�T�Qb�[���a&�H�	�����q�
�Y-;:�5�|{(����\y����=Bדpw�"��z�f+Ӓ�j��_��i'}7;XC���E���'���I����`IEND�B`�images/admin/notify.gif000064400000000553151165074530011112
0ustar00GIF89a��������+����#��;��
����R������B��H��j��a��C��R��D��f�������1����y��3��
��M��>��A��,�ܣ��������������j��q��e��Z�[��s���Ђ��}��v��x3�f!�7,���px�T�H��bI:e4
�Id\4-S�*$9b0ǔ��<��eD-%���%
�(ҨM�,3�H!C*���C�+��7.��7

����7���
�\TA;images/admin/plus.png000064400000002050151165074530010576
0ustar00�PNG


IHDR(-SPLTE�����p��C��G��H��C�蒼�I����������z��B����������u��?����������q��;����������o��k��Z��V��U��]��*��	������C��Y��V��[�娦�(��������������
��
��
�����,����������
���ߐ��)������������
���������ݏ��������������
����	�������ׁ��y��z��{��|��(����������@��x��|��v�䵡�C����������z��C����������v��G����������{��H��	��������z��~��k��p��p��l�ʣ|m�|m�h|m�|m�$4A}�|m�|m�$8A}�|n|n<
|n4|n4|nD|nD$4A}�y��y�$�|n�|n�h{0�z�4X|n4|n44|n�|n�$��ĞtRNS@��f	pHYs��~��IDATx�c`F&fV6`�����A���B�@�����������UT���54��ut��
��ML��

�-,��mll��l퀴���������������������@`PpHHph�_xD$CTtLtl\|BbRrLJjZ:Ī�̬�\$w��#	����WT"	TU����#	4465�����(����WIEND�B`�images/admin/priorities.png000064400000005113151165074530012007
0ustar00�PNG


IHDR00�`n�	pHYs��~�	�IDATxڽ�yTwpZ�����,]��WŢ���Z�x=�V�j��	H8E�C�J9D,YDnBB8$�)ʙC	
$B‘�I&�$���{�xO�}2��o�7�%��1���t:d�
�fj.4Z��Ys�L�5z�y��
d/��
ey3�=9���LǫL���:�YڗH��}"'4��[�,��$�q<�A��"%ֈ(��3�x�V���!�S�w�RC
�=�k��hc��	��V��O#�5���2��vX��TG��ԕhU��{2�i�}��(�`���,�W���AMS��H��a��Q�#�2�,D�Q��ee�"����.��2������t)ٗ~j�"�My�<�K���L��U�������⧓��S$4�dZ���"!���,R
b_@��J��1'���dJ�8�g�"����M�V�=����,�a4q�
M���$֋#$w���6�G?I�]�@�a�\?�4�j�V�h(Z�Hh�Xx�p�"5��퓹�-bB�Pp��:Z�����j��-VC��$�ϣ���w���_2P-����ς@����iށ��a	l�j��l���2����@�]�W?k(��]���2x.�2y��(?���)&%�"IOɋ�J8��HIj����{%�mS����\\��o��s�+�Wn����Bk�~�B��|�ޒs��}����}%���e��>�)�}�P�g�"�5���6�2l�������3�����XG^�<^��a��NکUB�6HJ���Zܪ��ZgaK��PL���!�F3��-X��6m��`��H
�H�n�NF��(tH�C@���%ba
��t\
��|d�Ӱ�V�Ǜ2�W�
����K=\��6k�1i���a����B%s�	7��_��ҳ�+,�n����
��T
�C��X
&�p9��j�m�A�x�q�kͺ�u���W�#�g.�ZX�-ӎ�b��r�`����n�z��|�Z��/�l�W�%u�O"�R��`Rd����'u2'�n���;�V;W�òީluj���v��H@z5/WՎƆ�oͅJ���F�e�{�î�ԡ�s4�ҵ�bӔN�@cC�U�L
/�ET=1�hP�`lh�?h`�OI܈�6��U_�)\eW�
W��l᪤��t�=`?Y͍Ts�`��tC�BrCL�Hr�$�\l�y�YczE>u�X��&�h����(��hX~
�T������g7��n���A�
���1�Dmm�ɓ@���$�p��9"����2U
/�6�ŵd��6�����]u"ge\�W
cz��	�6O�W��AS>�����7���7<��Vx��
9K9ǭa!�*��`�8��^q"�#��9�z7��@�9CC{��X��2/��h
���T�͆��(�|�Y]WX����ä���v6r,���At8��!�eƻG�>@;���%�{LOcC��;�#k��$�xMQo�m�*�-w�FI�{[��)�H��lL`1I����	�R�0:�����2�G��X�3����@��!���7e���|���4y�f��Pi'l�n���4��U�)���dL�Xd@����B(��6��ä�G��C�H_q8�M��1P�A%뚲x���e����E_AM��Ɔ�dJ?�VU�?q/d*�&�XW�ohX�����O|�'�;h�"��}���<fR�)�)K��{B���,����Vc�t��YEQ�x��,�,���[���L�%HMBhN���P�k?�B������e�^x��"�/�B3E����5���@��KF��I�o��D�,f�Y	��ņ���74@iu:A��@���R�D�>e���%Q-f1�����֠MR?V?<��264�F���ķ|��:h�o�b�lV����J"��G-�aP�P��1��	�Lz�P�{�_�lv�iH����yG�o��[�6�`��v�`���5�p�H�~��H�G߷f�v��>�;��o���>�o�8@���d��ٮ8�}	��'���Id�[�LC􋊬��(�+Ѧ��k���'g����]q�n��o����[g۽�k�f8Г��}
�f��%��M��/E��t�=��M�6Dw�g�"��'�ym2s��j�`���
��v����>�~m�ۆپ6���!/��9����h���X��qK��-�6�$��u�!9
?E1�z�|*�u�	���r�@��@�귷��w���m��{�����t���>f��T~��-x�d�oc^��mO��W��<�:�|?(3�(�o(s���3�@��@�
0�94F&�p811E�|��+��x!���n���I�¿Kh������䂭�%��O3�_F�7�#}l/mt�68�I��M�n��o{hrRt'������x>�/pqE�b���B8�ҍ6��{�
ӭ6��O�ZG���c]�l�	N���),��T��RP&��6,��7~��a	�F�˪�K�ѯ�:-2z.�o��-����6���:>��JiIEND�B`�images/admin/publish_x.png000064400000001114151165074530011610
0ustar00�PNG


IHDR(-SsBIT��O��PLTE����も�RR�::����

夤����((����tt����%%��66���붶�oo����

䒒�CC����cc�������??�{{�))����33�mm��HH����\\�rr�����22�;;�����LL�99�**������##��{{�))�MM�88�ff�ssta�`<tRNS�������������������������������������������������������������b	pHYs��~�tEXtSoftwareMacromedia
Fireworks 8�h�x�IDAT�]ω�0`PT���k���)�(
*�`���i��K�S�_)�Hf����;��z7�(����,�S�Ns^�("%��Z�"�LD��^]_	�䲩=]˛�@��6g��=;`J1]����)�|hjƖX����A��.3�t�<6D��QQ�#裣��?���_L�@������oIEND�B`�images/admin/publish_y.png000064400000001341151165074540011614
0ustar00�PNG


IHDR(-SsBIT��O�PLTE����U��߷���f��������ﮅR�����X���|������͑޳~��7�3�m�EƳ��Գ��K�ƒ��3������k����С�������������c�ȿ���Cg���ɤ�։���1�U��{������!�Ž��+��)�ҝ�����a����w�ʎ�Ǜ�u�䯡�����Ć�ν��R���/��u������L�ٳ��
㶇��^��;Ŷ��ș�ˤ�o��/��0����{x��\XtRNS�����������������������������������������������������������������������������������������\�	pHYs��~�tEXtCreation
Time02/15/06j���tEXtSoftwareMacromedia Fireworks
8�h�x�IDAT�M���@F��jA����}g�D�C��o"�18��n��CQ��O�ՠ2�y
"1�|f���~-��f�-Fq	M��Оh��E�9K{��(�j�_[J%s�m�JMe_��H2�qЭ��v��s3��e��H�z�+��9�>3�K��ls�]�ZF���ns�w����N�Y��
{"�k���IEND�B`�images/admin/rsfirewall-approved.png000064400000015247151165074550013621
0ustar00�PNG


IHDR�L�otEXtSoftwareAdobe
ImageReadyq�e<IIDATx��]`E���}=�TH�����.�4�B׳"���=��
VDN(���`��{	�/�˫[���<��Kif.����켝o�_��	�
��˅�ULt�7B�(�Cy�.�r1D�.:�tс��,]tс��,]�.n��.��.�At�r$W�B$^���K�)��%��1��>:��V$w���g�tѕK��q��)DQ��[^@*wѲ���)�j[�[�(�7���v��\�ï8r?%��q�`$<��>YvJ�WRDE�Ɋ�b�@�@|e�]�;*���5{(��x}Ht`�
��]Ż�\��o�x��U���ܒ��dN��ȊD3h�x�夻�waF�o��}`t`�&���e�g��b0���d�H$�o"Ї��L(_����D�g�R�[J<�+��Y��>�CR�сE�2ga��9��0�o�[,��bo��_��)��DP�
)mUВ<�0�xYR|�R����o��2M�:��}��*Epj�8Q�rIe^��3Y8O��xlD�e��9�n
hq������\��*�77���ч�^Kt��y��U>�}�Iܢ���
���*�衬��̩`b��8�jZ��r{΢!���k`g�®���$ŝ��%�h�4BE�7<�Ĺ
��"�[&��(��AF�C�>��b��2�%1����G���2g���lsjW�vs^c���ǖ���y�$��x`H��
!	��4�-����BMhC�4����'��u��}��#�*����`��2�\�WQHq�@$�y����*�9w��d�1�������Q�,��P�YN�%�^jp��F�h�
���-[�܁t���W��],��Hd��:��j*y���涮�o�`��;��V��.?U�{I�S�7��F��K��%����n�a3
N�C*&�?-w3�;|p_�+k~�cǎ��R��lӦMBBB��7�b��#""z��y�5���T��l�믿��!c�ΝeeeF��W�^�p:�
���4Pt�0�8(A��5YxU�ɜ3ϔ�7t�ZVM����~R�yvU~eD�V�]������קN���ZňFKx��N%	�H�.�=a��7k�@ǎ��3��k׮�<�Ȉ#�L��}�w~��g�5nj3o�<��R[S����UTT�7`i7D
a�1	_z�%��E�	��D(A����8J4��P�~py�ڧ8R�9�1D�"�Up��C�aK�L1�'���5t���ܢ���f"744'�p8IXIfm}���
vQE�'U^y���e�o�t|||AA�-���޵kWmM�fGVV��СC�N�Up�_U�j&��y��'N�BtcժU56���l���ݻ������o���|�A����z�_�~��x<#G��cs�7"3�2�y�w�6H�+�
���J�^�A��GFF^jU�*�@�.���,�j!�'�Bx�D�e�e�&�9��Ȋ�1��!D�}.wQ��$�WUh
O���Ȟ<�MC�f
�z0�KJ���}�W�nW�l9BBBB�x�	�ٌ�����v-e�G}��oOJJZ�bCՀ�y�ƍoٲ���1<�S�Ly�7������HRll,���t$RRR�Pmݺ���[o��ꫯ>����0S�o��ݻ,4����q��@`���:t�ݽ{w-�>bM���{,g���u�*�?�8�Z���z$���c��f��P[l��c�	)>Er��ҕ�b��a�G�#on�RmgoQB�Z�9����h5�r���G��sV��i;n/I����F`i�J�_�	O!��}
���������`$``!�K�.-Z����
1���rX(��G�ŋ#�ѣG�Q�F�ê��[�lՊڝӦM{衇\.��Ν;���c���H�߿�U�|��7�w��Xa9�����ڇ~x����|Po�]b�J�Kƻ�9�.)I�Ȃ���
 �PmH$����ji�$:�����6�&�_8A0P+G�ypR��؝rv>�6؂NDU�����"���Aլ�q��1`b�W�|��qj׮݉'��tY�k��k�
����~���}����4m�t���5�>j�(�o������N+�ꫯ�
�������@̊>��wߡW���s��	�en��r
�-I�x�@4�V]tPyS6\�<B��ddK�@!�P�>���8%6#)q(������M�f��:z-���)�

����9F��A���}�e(������MSb�����o��f͚!q���%ʺ[�nH,[���|��'xTX��/�`	�o��߿?K̝;��}�2���W7H�R�Wd��*6��B��'5�[��0�Rd�!e-��	&��,�/:%��"��o9(��qf�xEb"%u�t�r�J�΀lR��g�axx8Fi.�h�<��3S�Ned(���L]j&=zt]�&�C�h��Eô&�|�����q;��0b�T(5d�*ߴi2�9�.�2�۩S'vؗ�%��q9�Ñ���g�Ǣө�_ue�_�Y�P-�W	N�o�Z�������V�
�P��C�(Tĩ�Ũ����1�$��ut�c��A��=��Kc08�A��aDC���@�p�|@
��ĸ\O>�$`
|/\����/�Nqq���?�`i�n�iƌH�E�G�}�v����N_�d���ә��1'�L��\v9�[pQ�hx�\��"���*���0��ޤ8�H�KDGsd���)ԪNeӰ�V���ĨV�3?�R�feS�&���[��$�8�������"�
�A�#��D)�׭[҂�X��nc���*�,��^zI;�Z��&M8p``P�wL���K�5l��"H���a�L��'O�	��Ny��7�A~(^
{�ҥ0�.2pQ�H\j`lI��\�)Nm
U<�	�CĜU��C���k����E�v���Hb;PS��po��"s��Q�����b�j_GO�Y>��S(<�0�16p�4­�؀��_��Y�f����������|��?������c���$''�
Hm�̞={�*86l���3g�b����?�8ƻ`�^x�h6��
~��5a„��l@�RK07�FV�E�djm)�Y��~��~zb��+�����k�U�a�8Q۹kT�a��S�;כ"���f�3kb$GJ�غ)�i<���Tz���4n:���Ǐ3'�E�X����J���^;��6�w�b�-2��t���SOC������z뭌,�xl��Κ�-�捪��ٷo_�֭�p9+�`ƨбڠ�ۋ��#�b�*����tP�y�Pr�DJ�O���m4����O9�:ԼWQ�*�Ä��_р�wC�"+�(��kk
63O*\JӔk�r#$	+3�'O��<�g�}��0f�`����Ͽ뮻���#�&�P���3�&N�Tn�j����k�
Ģ�7ui�	��7o���l�J�^����@�^�Ca�]�Y��n�ɠ
�Q4|�p\"(�$lA�rN":ss3�|��sbr���]0/�x~t����+߷V�"R�vT��8+�n����#7��
��#w+�s�K[q��-��Ќ����};��$��K�~�w��X?��
��p��k�����iP,Sӌ�I�����ښ
�5�~�i���K����T�,�/˩1��:7�}�(��۷���rLᖕ�!����!�D@'ҧ[�C0�3�j0*\}��ړ�G�:w���KΤ�>��m��"Sc(�-�W^��SZ�}�U"��q�USW�$^[��=��cl�����Gl�afq�&=k{��{M�H����A��Ұ�X@h˖-Z�
`��*�UW]U[S�1�2�S`a\8!����tj�Tj���[���,cb-R�	�z<x'�q��ե���u�w���=_��
���YO�Nz
�����U�T�=��aq��;����M����NS��ŷ/ٻ|�+ÁKcx�����J�L$�mtƟ��5�{}�k���mjG�=���-��o�T̶m�`��>eX!�Z���.�s�a��(�ѣG�;.�2�I��t<8��o����[c�۶m�/0�u��ܵk���N����D�N�4�G�Jtt4'�
}��c�;w��uq��a�P��������2S��+�
�h�sft��Ү��o�y���k��ܾxb'l�����fb��D���$FQR�L�6���%�k�}�K+p��m�.�^�w�H�3F��.؈L�7?>�H����QFW�}n��_��0>���Y�y+1D��>��*IE�(�9.i?�qm�.�����Ц�Y�9'�i0A��K��$���'J�"������H�D�Bh(ŜjH1%�6��$�Q\N��.�{�h��&�r������~$�^�,P�f���+{�6Cc�nS���ʢ�`�7���E��hn����%��a]��!��a�}.@Q�YŰ%Q����M��U�%..�]�
�����*�=Q�(�8<\����x���.�1�h��ظ��F�3�x|I������!��^�"�V�&��I���W���TTq�,D��6�M;���֥~���Lqw��䑓"9��#)���0�!Q�Rbl�u�	�%��򉴨y,W��6�g}��n����B���_`A�w�/��E�ض��@�^��d�Zd�<x˭��H�X�+���*��Qk�v}JꆎW_�p8�IN��w`Az��9n���(+ߺ�f�����
%�{�cw�8��6�D���
x�)����_ȸ2�
4`�D9].����8�aÆl�9���'@Z�ؓ��㻉�-�!&�W�[ƞ��K��ne�8�W�^٢��]MLJǰ*=�'Jee%��Jԗ�+W��ѣ�m�|#�g�}�����'"�\����3Y��B���X�j�rC��m�����G�,���t:
��k9����;��F`]\n�����g(�C��|�‚��[�ֶq��8�*�:��\q��ÇDQ?9�
�%�7t\bR���*�����zG�����9x�`�eǟo��r9�$I�G�fUkү_��K���ɴ:�t9U�ƍ���/���{�Z�|ymSu`��;��{�as�5�֭[zzz�+����P5iҤ�9ʝ:uZ�jUxx�y6��#YYY:tHMM=�7�?��9ssڷo�z���>�cr�S��?%;w�fc
��՗HII)((�
��t`�E�I�&�(y��'����-Z�<y�Bu�2�8��G.SY>
�w��D�舭z�d�̙���ӦM�~JZZZ����̤�$v8d�߾�N���l.���q�ǥӧOgK��ٳ���O@�Fx��q��ҁu�����z!���k֬�XGs��O^���V�*7D]�$##CC�̑kOe\������]t�w�trr�ʕ+��)X�s���l���>��cLL�ڵk��'Ǭ�&w����ݠ��.�������l�2`���/�m6�رc�ϟ�JDDĺu�e�&l��IJ�%X�<j~/��<x��㩭rxx��ի��G���]K�}qa�S�T�?��VLtl�5(9�g�Cb��V4!������y�ճA�~�}1���y���8�Ѫ�0��zv8��Z�l�~E֦��%ǖ�n���}��iU�W�
���t
U��x�GU�ְ�t��ֱm��_W[�~0`^��Y�Ei7��X�$��nӂ`7��!ȷ�8�-�J3����_�
ݓ�J�ˏ,?���|�׋@a`�-|l�?�0t�P�4Hй�e����_1�����G]��]_�0]�x��GW~����+��M
_�c?�a�ӫ��!	C�m;�
����
a�q��+Ơt�q�F�;>�J�
�k"%0Y�-��Y<�ج�fg/‰l�������V#�J����N'L�����L��K���jyd�C-�H7��떦#�_v�..տـ��G��r�
�����F�g�������b���l����n�ظ�h/0�6�hI�.ڔ�)��!8[u
��_;�p�H
M2yew��~�N�2�g�ai���x�bm�ǷM�{`�Ż�峅�)#[�h�ԅ��3�;��`�s(�0/8��wx��/�
��7GVgІ����;o�	�T�1lHdd���|UV�EO�x*�9Q%����p|�s���	{f����}����z,�����k�>T��A���wЅ�^�~9��E6�-���fP��u�b�����JkO��������G��S�
��U;1P���vD�/����+�xj`�ڔ*�WUъff�{V�����`F�C1�n̍W�N��,�K�^��,*��6G��Y��ߞrЖ9t]QU!S����fE�"NA����Wo���x������Je��5�`��6��W�CM�m����>	g,��^��%��}~��1B�l
	z߯A�Ǩc��x���!��� fŧmN2���W�6ىlk`�
�@Y�`���F�ݷ��Ʈ�&wu����2o}�����ҋ��va�����,]tU��,]t`颋,].�'\d�k��IEND�B`�images/admin/rstickets-pro-box-legacy.png000064400000154377151165074550014502
0ustar00�PNG


IHDR���Y�sRGB���gAMA���a	pHYs���o�dtEXtSoftwarePaint.NET
v3.5.87;�]�oIDATx^�|g��
sK��{����qww!B�wK������J݅�P(Py�t�l�޽���7\����nv��]���^q��g���;���{a��=<��o�y�۷o������~��_���,�nӻ����ǛБ��+~��w��U�{��N%-�O8����?ߺu�رc���{��ihhx�������O>���?���O?����ׯ3>z�¾KZ
��T��q��"N�l�y�P@���������566677755���c8�����~��W�Q�.�>|�����ޏ?��x�Ǐ���Z�=��/�_y�_�ɚ8p���իWϞ=KZH,P$@�6����ݻwA�H��
���*���Ν;7o���ӟS�����T�8�O�<��������֖����Z�Q,mmm�	uڏ>�����b\�
�B���~��2�v�P�r���'��/��:�������_�R�z��#��8q������ǁ
Fk"�
�
�NZc�4�>$�Z�I�$V���_~�������_~��W�~��ݯ>���/����o����#!��6�P�g�}��^���4+qU��q�_8���/ap���1֐�z/��
A�H�D��G,�$-����Z"�5=$������o���{�?���O����w��P�~y�@d$����M�>�8q���.]��o��g��Q�*`Һ����/|�~=CD���s��F��)ؐw$lТB$`����N4��&�*�������~|��/����ݏ_���_�x��,�=@���yh!�M����36��k׮�,�1����R��q�؇,l���������Ɩ:#�U�N�<I
#Hf�L+!T֮�j���ˎ��S�D���r����ܽX{�������{w��{�������?~��+#�����&�X�
��+l���O�4�2�"k�/�A��&W$\��j�?g�>�N�2��
����2��0����dK�ATb	r�VE~X���{����EZ�@�xHbE�y�M�ֆ]������݆����/~��ý�����{��U�T�X5�"��)�"�x!��0���3g�����S|@��/����K|��۷�jjjT��#~�UUKd��,	'�,�K�8����?8s܁�?Y��Ib��Ȉ�k;n5���?>���߃&G��~��%Ҭ|�%-��&���z������H���6U6������+//!����>{�HU5��iEI�=�����ىb�G���o��{���7�>�;��e�`���ݜ�Af�{Yfl�u|Ӆo��{�?��>���~{�ۇ���[<|���/	Nm!����ėH�)r��y�l�:u��@K���Ç�$��j6�R۩��պj�EF�/{�K����
q�(�
Y�l�C�|K֨�]%-B�p¬�8��<ƣ_�,��.�F�r�p�ѻnn�}?#�Vz�{����~�{˕���S�}w��ß����?~�G?|��'��+v!��Z���ۓ+�d�K�o��Ȉ^a�Fx�	�`�V�f������<���߯��,A8!J5]H֖��c��I�j,񰫫]cr������?j���\�tiẴ�g������;i���3�KJ}7&�bT����w���ZRz3��O׿�w����x����B1X(���W�/&�Ƙ�%>-�0m�&�lL��j�H��~���I��{M�)E�������	��eV����S��QeA�l���1�t�;c�2>~�����k��ln����+o��;>-��m��%��NL��|3.�f\��Q���y{Ӛk��ϭ�{����|���ʺa�J����fa�@ʪ���,��[a�EK�)���
�H�c���?ĢeS^5���o�8	$eK9j�T�
YԞZdº�.H�Uq>z���>z�$�J�d��{�\^�_zz^���Sn�%ފJ��{)*�bJƩ���;�\]v>h��]_�}�L��W�PU�
���&�L�#sM��Pm�z��
�0�1Pg��ET��5ށJ�d�Yi��	�0�
J����1�0��B$��&D5��p�@��hɓG����'�6�4ع�I$uN�}nG&��t+:�����o|y�ڗ�~{l�����ۮm��~�oǹM�;���ß~z��ޏ���<��O��!���+��{Lbԛq��k��1y_ڠL��
��f����^@e1�Z�%
; �X�[�b])m�Z���j��H�U�ւ"*�K�&UBȂ$i�^��I8�C�}>�����?�;�G�l���ï'݊�w{����u������'3��d^Ii��|���o�93'��_�e�>���O����?=��C��?a����!��>~�H�aw�Da*%�d��*jhY�j�eբe�����$n��x+DUp�(`�.>�ZAC�n����@���I����4���h����&���/j8���?����B��+��n�"qo�ՠ�k�bomú�V����_��yz��K�ֽ��bк���Net�i�p~Ê�s}O-��ξ�M�~t�Ꮟ�<|��G��
@��	M�+�>����}�"e�,�^ݭ�YVL��ό��K�¥�#�҄����YF���{t
v`_5R�.�ѼV��***��&!M2���<o���G���/�]�8�<~���[vx�K���^$o���������D��in�ٲ���76\��b�ٵ���^Y�p8����K}�͟|rX��[߿���??~�X�_���f�k����y�+����e�j&���kR�wٍ��V-lV�{�=�&K��UK�9��Y�7�D#��p��
|Tr�l��k�����
�-��$��%4
�iii~~~k֬AbF~�/�|��?<�;��4�v�[�HZ/\}-x��-	�"���y��䭿zcٶw6�:ryŪ����,\t~V֕��3eK�Ypf�����/���?|��g�ԟ�^�\��޸w����.]�����ӣG0OpF�6�2`����5
�ǏY�
�b+�=i�4�y�j��B*�\W6`ci�!�v"rZT6�)L�ST����<q�8�k���B�������b����
E���th,���xQS�/O?���o}=m�8y;ǣN�h�_]�������{�ͯ�~��~.
�J��ӫ�����	<���e�g\^u�x局�'L?�xl��~�
��c����;�4t����հ����@��-�n~�у?jR8�Ν�`����ε;!&�Z�*eU�/���S�a��Y��֪�(˘�K�I��*���:�l�
��P3[7g]#�=zt��			Hisss7l��@��8��B!$*�=��ӟ?�:֣^����+
��yz�?}���_~���VKХ%���O��[pf��S}N�Y||֒�O���{�c��I�����᧨1����c�NV75T��ػOk[}���q?����'.^*ok�s�P���{��:�ǿ��k��|�*����ѭt��(_=x�����t�����?y���~��W��=I�LK��U")�"�
ca3%�d̷�G5wv�����r+W�455522Z�x1B���0��}e������;n�j��W6�Gp]y�7�t�7����#D/M7.,>�,�Ē�g������<�\pl��Ó�6r�	��]c�v�p��o�����YP^�SZt�~�����K��;���kZZ��*ZZ�[���k�8}�*ZMK[���;r��g.�s�?�쳏>��ۻ߃+ҟn��,:����t����_��֭�U�<�<�)/[�$�����P�J}''+M�	Z؀ׄ@����̙�(O#��R!;�ۿ��ǿ^�{֫�ͭ����~|�+���|��?�����^�Z~an��E�'�/==
�1����G&M?0f��q�#�7��=�Mv�w�<b���]��dg&eg|���>���/�**s++�Z��|�QQmuNE��W�|�IsWgQMu]{۾cG+��Դv���j>p�����m_�m��mjz���֏��v/�F94m0F���G,�2X�6���%�kjD5H�yX�Re��?q�ȥ��NJK0iv������k׮�<y2қ��`�S
��O�;�J\ڜ��yKO�^}=pӱ�nv~���}�yɥ¥f�������1���9G&�8<n���S��qh\�-�:�G�u�h����of��н]�1)I��q�x���Ƿ?�0�
?�
��?�4��0�0�Ɲ�0���7_7�����/���ҍ�g�\�jj���R���aog)2�{ۺ�`�n�w���'O�ff���sW.}�՗p
���	J���(륥W�Z�V��I���F��(�
�B��h?�Bv��N��C�V�Z���kȐ!�G�ƫ
��_��׿=���N����������B���[�u&�����4���i�NY|j���3g��4��i����#�&>�k�;\n��>��S�bw��.r�ٶo�]�#b�K�Z:ZsK��@7%������K�N�p��Z1����;����WV���}���w0���wo��{8�{?�
����w�^�uuw�R�Ӄ�8���jZU��g��V��9��FQd5��0��&U��Q�I���������i|�QQQ���N�86C���oe��E-N�V�����R�+��.�[4��ʮ[�;Ol�{b��S��°<<fʡQS��|x�N���g�����OtM��v~܂�!�_�5:.�#(ܔÆ�4u�eK�C�6��~��0��tg�����쬬sg����_�����EXض�#=+��O?a4�䗏>����>H�����r֓ǀ������+O~��	��4d���>�^?ľϿ��O>�D&�L*���ǡ+@�l������+fѲH^�xA��Q%�J�_�8�	"����0`J����8�_F���D4���l=������h�x��eM����/
v]���"����N����;���'�>4q��S��|p����,G�u��y�Ƒ���~�A_N�Mӝ*���d&&&����X[XXL�:����O~���������Μ�r��-9y��p���o��m1	�Qq��_|�SaiIRZ�w���������w��P9l��QPVr���=y�w��_QK�u�c�O7vt���'O~E���m���*S�z���O0���1ƚ�w@6|�>�œ����XT�ˎPp�V��	`�
h���fff�7o��[�l�Q'DL�(�c��O~�yi���ѽA*k�^^�sj���cs�����y���>4i��ӺFO�1�s���c�y���1��yT��������3��9�ۚ�K�t��ʼn�ƌ�8|ĈL
����_o�w{���f�����+C��?�)������Uk�|��G8���
K����w�D�Ƥ�fG%��~s�=�i9Y�\F���w>��c�9����i���L=�ѓ}����]�=��b�����d
O��2Pݲ���c��}�ɭ�>��ǿ�
/��K��?3pD���G)�%����0PC�4ip������d�4�u�VX�>�
7��wvw�_6�
7ع7H��w�"p��D2���9�q���r`�Į������5f�Ǩ��J�6ٰ�ҋ�W���y95Z����$����%("	��<>���!��#c?Q���7��4�4����){{{h�|���m;�������]�q�ɯ���kV;q<bwdd\L�β��-�w=w���:*!����_~�MVnN|b���s�zEMu~qс#�!�Ͼ�z�޽��epƿ��*S�,|6�
��G7�u9��9q�|M[k]G[���z�������\)���p�}���3f����:::���˗/G���K������~�����~�1䐿��ֵQ���\�{h�����<���G���|`������Q��PmsK�V�[��g�b���(A8֚g\O�i��<���K!԰tuu����2&��O�9‘gϜ���412.�/����v�؁�]CCs��Z���Ç�g�f����==������i������ݴc���玟>�kwdVN���}����+j7���y�`nQQ\ZZR^Nau��G0fw�;�޽��w��޼�SY�g�~��>y�6������jOsCK���wPԠ�b6�"L��T[�@��	c�%333))	�"&�:++�^F�88����4}�w����Q,m���sp�S�;��I��c&�N�q�^c�<��u��
�f�{�صY�h�M�?nr�HA��c�i��D��׍3&&�������2,
�"��wvv��x�1
���`go����~c&c�����<8�n���F�B�(((��9NNpf���+rOߥ>Vv�5U��M7q•����a��ٙ�~�eiuelrbe}}lZ�����q%��J�㓓��z��O?I�ɭknC�t��ɼ����;�}���������N��R������������c�j�$�-p�	A�0�8_()���a?b�>��<�/�s�C�}�G7?����&E����έ�aí5K�,��5uv�ĩ�gt��ue<�^wX�a�1{<�{=#OlZ
ȡ��ht
�q�����M�Q�7?a�BH�@��#p��'���g��������L&C��^�Q:
Vl۶�ԉ�H���/?�����,\�P�t��iihN7��#����,..F����_���mܼ�ȱ��޾��VQU�+2�ڍ�w�[tdM˞���k����ܬ�=
���/J�*��
>��|#|0���]����iQ�p>�-�����n�^�:55F	�P\\��Ld�c`֩O1�����ge�K�5{	Zl����:�/��hl����C�q}����sD;�«M6��7i��O���޻W�5���s>��D��g�h��D�ûG:��{���/�,
vGr�P(Pp�_ߵkF`���P��F����N���c]'���aꈿ�M`
Z��~�:�3j4�8K��Xq�T*E"�ε�A!�F&��{;�/�O��`�BpE����_�ۺ�����o�4�k�J����y��3!-*�okFtv��;�>���O�����7n���=$���Iu�*@*}���KtsXZ���C����(#�Ld��	3K8���Ͽ����O��Z#�:x4H��-��䤎S:F�k���ΰlgXz��GT	�O��?�6�bʶ�+�B�&}a��}�E���\4���"tj|O�i�i<���ĩ�GD͒�N��0?���:�wBٰ^X��ߗ����L�>][Sk��}�ǎ2h�c�:4h�
PGj$����-V�X�?���bܸqxs��\�9��H_���^UW�*<)5���K�cv��V7֣����+>��(D�$'F��5��|��N�����fV"�'C�P���	8��>�,u��
s�1o�>:���>��F�FOi���r��lw��=r���V�w�ܳU��*R6�e{m�ȳ�f�/�jp�֙���F�;��e��|�J<�°>�tIti?M��
|sk��L���C��V�J%ބzp0�2�H�!�<�1ԩ���PW��Ԭ1x�왳|'0S���[�d����<*2f�f��w�{��/������qXDd���.,"M�����GJfFEm���>A���j�w�F%g�#l޶k�7(
�q�W���C

�WZ�lٴi��q�*��L��1���~~�ӏw���uGCfVO��29�%��T�{�HݛE�=|�&����(�9�㋚y�F'i���R
l�r]*9��y�3|�#�UNN*�/@a�q��s�~�<	��yu,fX-rQx��dKP*Y�n.hAw������k�;w.�lc}����`x1R��`h�3��L-~���e�8����'�kgN������W��B�}�?
m�a�
e����ޏ�Q��nikE.$��k��._��b_�~:�$�W�I�c��(��������cf�K�(�	�Q$T��$w]��~��w�����=t�`խ��/Jߋ]u!��9��'�����!�6�ɛE�f	��J\�(���kM�6v�F�;F}v�S���w�7ܹs'|>!	|<�Cs�{a9�K|~۰�4�
��@��k
C�x����������;fLG{;�B`@���NtT�5�+����,}�ɧ��!�Z����˰��ݺ}��	}�iS�~��w�.^������ٵc�����p~����j?��"9�$jx�����˻��m]��۷�SQpK���[�:)���`lQ�E��H�ir��|'[wVy�Qw����~�=r�;�~|����;�����o�
?�Iz/>������Mj����]S߿w_��T�#����y�
.z!�6���8@�
z$�|�N��bL���e�TkB����䃱Q%>9�A��=�y��88�Q�o^{�5a�<0�X.\�c��
��P9�1v�)�`���]�����8�����Ά���a3�a(�|5����������\\\�F�p'��/�N|a���sP��PE�1�(����������_~���>
e���)$O���/�=����'_c���ݥr(��n����N+|stA�I��#��H�*UDy@��,o���&�xŠ"��oHtU���XQ���!!!���lH��w���x�
oooЂ����o���ˏ��$��Àm�������u"�Q���k�c���/#M򯄓�S#ʖ<�"ǁ���	�>��=��·?��L�e�$�ט�4&wb��O�������R�MӢ�R��LI��`"�����0�	=))
�8�x*??�u�/<�=xCx&Xi`��4
�o1b'�S��y@y�&�Qi�@�c�E��x�C�����B����c�V��]�f^�w	'N5�
U9�ʈL��Nu�WV'M����.]�""�M�6!y�D�O�,]���c2��O���<����0Ru�*<���_�~x��/�~E��������-x��<�,��ɢ*�qa'��>�ˉ5�:�2
ȚF�P��S���|<N�Idz�8!`�hC��7��Po#����h�,U�@��:Muc�]�x���d	��'|v�cK���8rp777����d�a��T�eG��a[�";4O&�願Ďi8��0X��C��D��L1��4���|��;�ǛE*uRhîi?9':�EN&k�a%KӂhXlI���J*�E
D؅S3��4l��ga��q�c@W�h�<`$X��~|�uX��RgT��"Q�7oͼ��zeu�t=8K|JH�D��

|�N�]s���j��=}�b%s���iq��z�6ű/���Tb�	KN

[��7�߄����"_KmS��d�%�0�A�0ט1J�'�͠���G�Y�N�i�
��V�H�ȝa�g͚��"[�0~�"['{����T��Y������W�$e:���T^l@�.P!N��*��ᰱ�aa
?��	��A�=�GZ���E�������7%a�2N��r�4�$	bE�2||Jc^��8��H8ٰ�m�i�Y�p��%�sy]�1=_��"���:;�Mb��fP�{�7B
�*1�3�!��.^�ˌ������ä#̆�E��#q"#�/D瀔)�e���F�2���1�o���2���|�;�p�Nec����*ݞ8�����<Q$gL��U6�f���a�`Im��
G�!b<�}FB�=H�{C���]�d��N�@�@��\�d	�N��DWB��FI/V'᤿�NW�ˋ�g�<�����ౄTA���ʇ�cJcH�ئd�J���H����8ux�E�-���j)�UMT��N��E�l{��c/[�����Q��1�N/���8�-(�V�J�e�p��%���Ы7%��\Ia���K��G�d$�!N��D�H{�ZzC�l�۲;i�^K=�Ά���+�m�u�t�<6`����P�@�R�Rx�e�-%*@�N�V%�F��`��b?>w�>U-}���$#U���}%������
���.��Y3�	Q~���@�ʈt_���I#;�A
m�yV���I�������Uc�7b����o�IU!(N���`:�%�I�$�@,Y���L��j)�����T���%5����¹h�"@�TA�/�4��/��*�Δ�U��%�q�qt�3Ks�Я��ը��U��Q��A~�����%�>�:��-f4��"i���|g�f�����*QT�h��N�EwAB�
d�Ti{�:���z�}�O�Կ$�a�8��l���L>$*�R0�>�[�P����
���4k���
�A:�χ s�P�
T�\H����qQ�jI�0�x!a��;��xH2�c(��
6�-=�Y#�e�%¤�Ɔ�`��g��ldK�+��h�A�W���t�
3�^1-���'����b��|����Ӿ�E
��'�\T:��Q�\)�!p�|�Q4Xb��32kT�`!�B��~,-t��7⤳)��,l4O1=�:����k�'r̔��Y�����tBM,'�`f�(�\�7X��N��ĉ���5��xOm�-&J��`�a
wE��Y�/9ƙ�O���qy"P�Fx`8����6���p����P��[l`^ׁc\#�.č!CT5ac���'�{0GyeoT|Af�oJ�HǤx6��%��1e��l��7$fT����
4����=թ��X�t7S5��٢��YB(�C1���"������T�Ic����`�JY85�@��2��b�	&OEDD���)Ꞟ�8�1��j����c��}����È,x�:"G7�!A�Oa���F4)̦<��1L+[��!�u8oF<2��H:���iǰ���]�/����]��p��0_�i8����AT�Mp}�+�i4�!u���3*0N�	-	i�(f��j��̠��68��0�(4b
��<�g�UD�ÁN��_�ʘ��P��8�f�����%���:w����l��LX
,���,�T�5YT�[��gM6�J��g�ԀS��P�U!*#�D̜9�
�LxK���ߢC�ᤩ�dxi�mֿ�\ӝcq�A�D���Ao�k
�Bjl�ˢ�@R��0��٪�+��0���:3���0�c�}a�����S�q�����C�`�����a�~0���ǃ��|H|0J����?hb��"�a,{(�\���u�v����P�
�z-��E
&L���#|C��׆t���,�a��t�z#,��F��J閆�N�qP�>D2��Bg�I�k�\����
�.^��#G��-6P���`�a{!Y�@�w����p�E�f��7B7�a���M�\`��{��э����X&tt/�,?���52.�s�g�+
�#��6������zi��-�К(�=��^q�i|���f򡃿���^��b�8�/�30�̭.�X�D��9Gk�~|��$S�cro�)�Y����'�'��*G�;�!,3N4�:��;v,�<F��M�	0���w��X`c�1
&�C��:�1_]�ap��ŸÑxC�U�5�6J�����G�ְ.x
}=o_��	8	�ķ��Gk�m�y`�؞���5�>q�L>�|
H�&ß��2I'�NX'1�[]�m�a61��8�Yf6����؃1֔\�%\��D����0|@�B�F�S��L��@�t�#D��	�a�q�����%L��c2���q0Ċ�wÛ0�?���?`B0��
f��Z��z�s�n�C0��4&�_Q']���'�5��B�����$g�޼Ak�}|zD�	�P�@f�R�`T��Q_�^�#�tŖ�S
�Q�J���d�n����IsD�G�A.
Ai+�A?~<D��!A��p�>��+�[�!����`�!_�3���BW�DW���<�G�G�7>L����`l)������	��!�N|���8��ID�rl���{".%��8��:��
�
�‰�H�k�1��	��
oH�I�l�E8I��O/'�L���@�YeS9	O���ƙ��N�S<�#[�A�
1��EE'������FH�0��F���'N��897�=e�J.`�!k��/
=�;�}(Qy^��|��ǎ.��=e*�چ���%�򢚼\�{p߱=}F�0��?�H���?
��ob'�?9K�A؅�C���gC`�#AA#v<J	��h\�xC|7�Jm0�gq�Ёh���.N=��x�*Pm�Jx��I�&��?�f�8�^N��TO��O=	f>:%��Bʈ��a�a��&Y\�_��}���t�G}���tM��m9|gN^qNLt̑�':��}==�)%Q�E��,2�(�!��i��`F�G���
́�Bv��\�9����Vg_���"|�K��	j�8�8�X�$RY�ق�jt�D��0ĕ�EjR-����L;�{u�|�3��`Z�Yi�u
�@�>��!I��>q23����)-,�ml��v�H���N�;���s����T'���-%|��Pa�h��Y)KA�O{#v����׆�q��B�eB���p�L��v�x
�,b��:�^^{�����D��`���		���)6�%dk��q��!����RJJ��(K�L��m���h���rd�'�C���y����ѽm'Z�:���s��C�%�(9�w��K͂gq�e��
IA�8;d��^�ta���̈́���a`�r=����1M�1P�(,��3ۋx��Wt)ĥ�����o�B���9��HC�����!���Ӡ��T���B�"�|x+�Q��ONr$�L�e�d����)
�	���,u�9Po�7Q+>����#�:;V���;�m��j�р����ݶ���}���T���<�D���}x�t��-JT8�
5���(�C�8�(0�1j��	�8�`�wCJ�q�H	h��E(�
Q@F��o�5�*�LmZ�+"UD��4�X�p<B0�	�:�:N::
��3�<g���ރ5��B�_
_��*���^���@�&L,��P�-�c�wu�n
�n�ˣe���OM��D7|@���O����dZ�%v�B!l-ť�o�14��N]�=�6bl�O�M��x��$L+���B��8݀�8/�6�+^�lq
�#�DMl��#愱�"qM�(�
���C�������>^��@����%$�����u`�ac����W1���Йh,k�]|Mr�xBKb���	��?W�PW]k�k���ġ���Kqw�n�Eb��0�)�@ߑSF
IB�
ZȡRQ����+��2�1l-�)"�~JK([��k�>	�i��ŹƳ@��`؃sc���4�DE�W#�DĄ4$w<�v�z1$��r
�#�ga��`t
dq����(��=Nh�b���NW���ú�}07�ka'
�(�~Q������ԉF���v�[��/���)�oBp�7O�D~FEE��ac�%>B���u�C�R��@q
���q$vN��{h�`�ޓM=)7��08�"㤗3�U�
��1��S�619��"x���1�o,�~�+08��ǰ��@�E$�Kف�|�,?�V�P��W灮Έ❋�繧�%��8��F�-v�G�m;��뉓�G��S�ؕPW��0�2�B�^p��й��!d�$e�
[�v�T�2���J
XSt
���PtC�˛>'��<��P6�,|Hha3l^��`�!J(��*0�"a�UA�8e�����s��B���ܿ�}u~xH��g��{O��om��Bw�]
���{�[��
�#��%{:`�pQ*E`�	"6��pN�K�^��J}t����0����(�!�K�@�!DRtl,����DE`�@8�T��S,]�'c�ð��M�H��`쇫��mp�[5�Ĕ
Y�s��U�>�l�Ԡu��]TiF�����vt5n)Z;<}��d�"^�`ia�����է���
A��4��`��ya�ןbZ�6�đ�`�$�N�����ᐠW/�#D�衿�d�M>R����	���i�?�{
�)��1����0�
���,[�Ri�v�6Ն��D�`3��gٿB�!*EQ-	<�+��R�&*�NXpթ_��L����Y]�>g��U!~�|�x=�mz�����*<?pH(�w�ၐ硟�����|�F�
�k�5�e
�HA`�R�6��u�d0ڃ���-���a��&�v"�9d
8�x[l��O�g�$R
�R��N����;�Up���p�T��Y�li�"U6C�����L�iy�Ia�&�']rDs��Ȗp���.*�7�x�֒M{��eW����M2u�������e}�Sg�op}�C�[���Hx9�JF�]p��H7��!�K$��5zE�$x-`�!!�D�	Ӎ���‡!��[�4����)(�Y\#B��
0wHiз�xC�H.���ը:��#�!`�F�����]e
��{Յ�,���Dz�"C�8UѲ��B�
�έ���ϙU>uF֔E%s'e��"gY"*vv�'���I�8�H(�d�*�\h�*�|8�`6!
��G@I� ����+
���*|[�	��`|�ƴ��͠o���.�8�~0CY�(�dA�(�#��a�ч`-���(ŐJ"4B蘵�,Q"���в�T�&Uu����_�c���d���.�hC�x�D
��,K�r:�}o5���*�e�!��@]lp��r"?�Tw��`���MUb�zN.&
�ϡC`��n�
��)RId8�%:�8��q"k���
<^R6��%��"����%@�0px��K�Vmau�f���_L���yl��e��7�Xl6��dj���|���z�)I3�ۻ���N�AB��p�a�X��N
�Uk�O�e��U4�F�N.�(��Wx
(��%Ji
V��`�N�q�1A��s�O�:a`�a��1P3�)��0�����"�]3�p�*x�`��?��J���"$E��f{Y��
TM��
Tm'�Q/elin&[�#�ٹ���DSӱ���{:�+VU)�jIj�j<�t��ޗ*#'��5
db�ROx#"M
I�lV
�cx/�w�5>*�I/xC�cpB)l�
G)ߠ�*l���R(DU��:
��xCT`��
q��F�!t��"�t��*�=��(���RU}j�\).���߉����QQ�r�p:
�/9F�~$�*��"V������0�T��|�0��xȖ��6�ZD�,�ЄZ��@%b�zM��8ST/��������\��ɴ`�ɥr#��K�rU�>����e1�a�z��UqZ����<[8�^q����*`���I
���6�ĩJ�W�	g�T=�j������Uˇ���T�����iU%J�R'�?�7�khy��B�8鷕�ޒ�e�0KT�.)�E�>T��Y�|مe�j�y2�:H��j��BJ%�Ē�V�9�ҫ�}U�Kɨ�ª��}�RO��WU')�%�g���e8|9(H�q��P���$r���xy��V�҂����%�2�=�h'���'z��%�	_��E���+Q���("�n����JU��/p��TH��W��?V�T��K؝/��|�Z����Mo��N
��|�h��;{^���y�E
�-���EH8�!��ƽ�V����I5�Q�%�εW��f{�P�.�XV�/�H��O%�jk{�g�_�ɨUT�&�%ؒ[���t�8)^U�2�T����{�!_D(�*M�ʺRU�RL��RY���U�I�Wuy�7}�[%9�zU
�T�a��oĩ�*�jL�8��SR�N��B�!NU]T2����$��JV5�Q
���D,T5���eĪ�Ϩ*U
�+U��3Dz��}^J�N�qR'{1���|*�KT�@�BUr4��ҥ��w(q0k��W�X-�Q�����JV-⥇/�S�r���W5V�@Wm����,
�4�IU�8-�`�N��s��U���CN�Mx[��X��g�Y���\��U�<��BeY�	WM���+N��3�y�X_L�?ǩjxU��,N�`��08q�Y�4F�:@�Ʈ�	%��U��/n"��(J�r�XF�0��Ml��Jk̿‚��B5ۘ�
*�8ѽPK�
�T��Z偪�l�S�b��3~^z��a���2�3>z^!�5����']�B��p���d>�S�nXJ�
ݙ�B��j�RQ����4hA��Θ���&@b�<�ƴ�;q-tF-0���g�R���c!f�R���,�KF�=c��eB�XI���}qJê�r�g�b�@E%=��^���`�	K"ha��KX!��@��b�TOO�,K�ɒ�RA���g!_b��`\�&�*��d�I����^��^����{5�l�A-��)�煾��j��ly��qR,CPɖH�B�c�	��a^
�6V�؃�pH�X���*T�V�(��݉
����$i�%~��W�/Nf�,�U
UKKj�^=�j�A��yQ[Md�S��S�٧�e�T�\0*4���~�XN���Té*P5�J�X�B�$P(=E��|�$	�e@��^�^�����b������j��Z��-*��0j�}I�4HI'�;
�����0xG�P�!IBH�H��oL"�x/��8H�Mb�iV�,l:�e�ʗ5��l�!V֕���2����Z��ež��ZdԳ:��^�ޗ)��aRg�8)�
7I�a�$ �		Yf�ǴU�B�׭\�&4$<4hUXP��Еa�k
F[�9AI�q�qQ1�	I��q1��b����ccb�ccU�>�fC_<V������5�^��B��E
ՔJ]������ۋq�f2��-�}q-�y5}*�%�.����Ĩ��N�-��
��-Xb��#׸re(|e�xԽ��rU@������
[������!��׮OKM�'v�\p\LBBLJ\TbBTbrLr*��%J,��W�תRd����`A�����P*�GTD$ɒ�C0�ƨ�i�\���<U����2a�X�W�T���e�v��Oc���<(�~N8��]Yȴ2+!C�ſ��+Cׄ�^�
O��g
�CVp�����hA!+��׮OJ���+*&"2jgt�����xlLT\BtlB$RO6Db�Q�J{��'k�	0is���H�=뽽U+���jI=g>�,��Y��5>b]�j坊��;�D��ND�&!Y�4�66�!��2d%2����+�V�^�~�ƭ[vEF��&&'�f'e�&���e�f���j;p���֮�M�+*K*
��ӓ��c�c�"���˲�B�)�z\֕��`��ހ5�5)>�.m��!4GbUz{�W�UM�=�J!V�4�+�
��CR'�I��:N�Q��w�(��:���!s'�M[v�LIN.,Ϋj,�k��j�8��q��c_WK[W}���}5��+�VUvTUtTV�:p����#hgn�>���+\����w߻y����g/a2�Z�gx>"`ۡWZ��j��+T�P�E���^����ٗ��(D�VY�������Uh���_�I�b�9���0�Q'D���)��s
���\S��l<�C��>y�𑖽�y���1�e+�-�2�-�]'��99E[�6�L��*/��w�3ڄ���f��[��eSơԺ��.]@��D��bB:�YX@���B}�@��j
D����P1#
�\u��>o�
}{-'�t��c����jm��)�%��s�W+�;z�psCSscS󞖂������)�mY�1>:�8����?'W�Y��7s[���>ӳ'�H���
�1��q�h[4^�?�M�ڼݦV�^�:��yh�rh��W��V!�\?bY�m��ŗ�)=p����׮�8rfO}cAn^R|B\tL\tlbl\L�ظ����ĸ�4DN�k��cX]p�FX�K�#
d�Tςë�	{�SU�a^PE�YpxA�D8������Ͽ�{`OeuMǻ]�pUBcK}S۞����AA!!��#K+�:�:��W�XR4;}��h�h�t��0�^��Q�$�u�;
����w>g�ta��4�Z�g�ĽF�Z)t�zԈ=*��+�����8���[���o�~��C%%�1��Qp�I�	��w�K`"a
���гH�`f
S���{��U˄�S�r�J��DIx7Uc�Y׸�!���3]�����fi���ɩ�{Z���f4e���M!��q�Q��x[^�5'ь�b�K��%���l������nu��:�	g	�ϴ�%�Ê��Ż�ŻB�U)�.g�G�ԭD�U.�[7qMgP��w��{�k�j;X�]���'6>��(
��ɕ�n(��La�	!�����=��9��y��T�z��<ϭ�HR'�.�LnTT}������0�߱}Nj�KrJ�*�V$�&�L��K2Ζ�h�
��(J�
Cj+���$X�l��Xa̟Z$K���z%�N�7�D�]��.u�.q�.}��UJ�*��
�r�ae�CK��e�.ê����U�UʡŊ�nS��5-�<��ȭ�w��s��Km����`���)�a�۞2%?��~�b���^��QU�ˎبJ����RϚ~�yI='9�V����,X"�A4PPY|�ֹ�Ssd{��4O����̆�]�ۦ�L���cl��,x�ְ��8I��4�Q�(�vE;�c��'Q��8�+���JlA�=�+k`_�ӫ����p��y�;{W�xW�xV*<*�Ur�*�{�̳.��=Jdޕ��5�UR�J�K9h��OӢ�˹?�p��M��J^>�
�P!�Rv�~*�p�0�GH�1>Ú\Չ,=�Ѱ8{-�
��:��e�ck����\����c�nM���
/�;��e�X`1��q��N��x;Y��
�^�(�X'~�#֢8'!�8���e�V��9��ūD�
,�g[��7Z	Px���a�)C�r�
�g�ͣ\��a�g�LY%v/�/v�V11�`p󥆫\�t�R]]cBJ�ȝQ���a��S�+펃Q��(Ae��!�!�4ٌ�J>Bd�_ɡ�Z/T��j|�b�1�"��ý�b*����?�⳯jS�=�q���%C[e�M�C;��r�fs�-�Lh�
���xhCm�Kp���Kv�	��*�Ԏ|T�N��Y"����S�.�?���V�p�0�.�e2f��yq�܂��7��q���Ί�ѩѻ�bc�#�-l����d�I��
S\��X�2%�%��Z���֕z�:뵐�(�Zd'�R=��w�����p�GfǷ�o_����K(<s���/j���(to{��=�d#����KI���+Nq�=7ޑ��'tK�
⸽R|�F�cY�^�
ȴ��Ư�C�H��
e�ĵ\:��mQŬ��Ig>;v�M��&$�F�$�&S
C�K���G���cm�4i:AeK�/�M_P�W#�FI��-|���?0��~��g���g&g�]��n���Q
��{nM"��l���p뗷/�)θ�q�wr!�x�����
��į��v�S�2�ӫ��p����MU�x����JAth�»P�U'v��Jʜ\��Q�"o��ݫ׫r��"��0U��%|Тj���)�[�P�����@QEb�w����ޞC4=�?�:�A��!zÏ���{�g�SS�ғ3jK�>����۝���y��[3�ӽI��H8��"��2qM���8����y�S��v�W�5��y#�Q�5�j���,-pb�Q-t��*+��
�G��g�tn�Ԭө>=����09���8��lJ���A#��vH�+퉓U��|�L�U�M{MU�����w�k�#������{���um)�q��B�1�ӣ�u�w��Tqڨ�G!
����3���/���WpN*�',�_R�*N�R�G�]K$�&L��{\���w�.A�$���Ws��e��mCJ��4I�l�E�=�Mk�ݧ�S5�y����(M�9ܪ#nl_5O%3�T�yԮ�]�1���~�q��������
yǽ�U�t|gag>?��5Y����
!-%8r�%���X�,�gk�d���<Ĥ�D�������B�{�ԓp�T�'T�L�z�J�(��6�F�/hݒ�
$�ڵD�Q.]���ދW�U�V��N���Rl��f�hl3l��B\�`��ç�Ҹ);K�੥4j3CՆ��L�`����"&q�W�n\oliJHK�H�]���r�ջWv�ߩ����8�ԠHF�ݺĆW�tT��_qW�*NnO��N�X�d7�a��֭;j���7,b���I���{V������^��dp:��&�
O;�r�w8�3zG�]����fL�\5��)��tq#$|���08%0�s�YᲓ��ah��@b��4�%�3g��$F�'D%�N�[v��>�s�v֞	�j�w��G�B
�[�S�Oq�*~1Nn��
��m�"�5�
�ֹ�P��E�JN�I�`�2�T�)�[�IA��ҭT��R��Z"(vZ�>w���[��)�,߽3��Y��:�qR&�Zl"����������MMR�a��j#n�eiB,U���tWW�!�62j7��eħ�d圻p��Ww��<�f����e�e���Q��(Fc�N4�=F��K�y'۞�����)�n���n㒆
�u��:�"g�w�%����3^9�l4��
%Er�B�'��J�(���b��Js/����pJ88��^%q��V�݋d���D�Yw�ƭ��}�2�w�`�H<vQp������4>�[�
��F�e�4bE�WH��R4K�2�n��qe�";�v?5=��񓷿��}1y��Q�F�K�@Y+pm����M��uۃ����#�]�U-�'18Q�ap&��B��0Ɂ�`�K��GY�T��ֶqS���y32'��,_��W�KpUgYZ/�&B$�&�SQ�w+�x#G�**�r�нG�>t�����bT�(R[(n‚�(�E�$_z�,3��^��u���y�S��a���s{;�G�f�S�D�*J|��w��ŝ�/��m�'+�7:��H���
���J��(W���)Z�F��6�~UG*��6�h'�٥��=�B�^��8چm75a���m�qo��=�����O`��T[/#*Pg�h�|�[�أP�Q
UoP�Z+���l�E�uN�V��n�b�ĽD憝�B�{�˄�Ry�Ô��g/�w�X����̝ѻ�"�1u	�tG�.&�aV̙�����bpR�J���Ym�Fc�"\2�CE'&F%šJ��丨���D��E$m�N���.:r�ԭow���Q�)�*����b��k�إ^��
��Wx��ܡE���-M&,"�5G*��q3I��#���bx�k�d�ɩӢ�bw����5&Mɏ1��P�B��<���G>p�j��󫆳���{a++KE�͵�/+rt��U-���Ƿ��uDG%FD���m[p��w��ޅ�Q|T�`5풼X���h���K
h�h{B�dL��J����{||rBL|TqaݕSW����C���uưR�DY-����z�jS�Yw�Z�؍e�Ъ�l!��$��.�dB������MY-��s�Q��N�X2�#O�/r�4���^(QknE�7�bx��T�<�\!\�
����(㍨r�ڱa��w.���Y�Q��+}��Q�ѻ#�)��2��re%�?�&�3�M������Q�h�]I1�E酝��_~�Ƨ��V�DID^�l�Պ��Ğ
ח����Y�8�ю*AU�'Na<5#@�Es�m��$�!�=�����Q2~b���WN,�ۍ3_�'a��4�{���Y�n�?NW�,I���e<�^I	]mM����o}��ɋWKۓ���lڹm׮������pI0��a���%�$%��`���S
�o޺���/�|s2�x���}@��U�w���V+'��p�7�T��Q�4,j���S��ɋr��;���!�^�ȉpܴwu�����Ҋ�yU{+ۻ�F�㼄:�p*��/n.%"��js-*��(8t�Z�UE�����Y��Px.��͓Wn�?{�x[cCiV^z3�Q꺴f�$��B��cl5=)�
��������o\����SwN��l�Z��Z��(�x�&GY3׭A�Q�PK�!m���gX���Ag�s���
�:��81ީfl�R���]�
�kJ+����қ��v�M�Ī�k(u�爕y��:�E}�,~�%õ��^"�(�V�\Kd�J�2�J��r���?��{y�O�ٜs��C��}�l�*GQ~�];qY1.P��1h�"j��:"�������˯�||i����;��Op���깲Z�[�ػL�l�"J͕"�Z�kcc��"r�/��(�ٍs�
�^Å�u�0Q�<�ϋ����&�C�uC�
e��BNr߉
��=W�ny�\1�~Q#hzAs-��7U��Z$r魱
��U��z>�Wp�e\E!׫\>�c��A)��nT}�Х�.�z���n��ỷ>�}�[�Ƈ�o~p�҇�N|t��fC����A���Y��R&�Wq\jy���}�ln5�]�idi���Dϱ�e�ĵ��AӈV�38�|~u�b��x[��8�iZҤ�����:q���#sR&I"�.#<�٭Η��'���g8���=*�y��"�r��X�V$�Cy���R�	�*<&֌�Q9~vͤy�S��M�]3qZ͘	5C�c�L�ԽJ�R�uCm�ّ�r��T^�]�ᳱ������g�=��:Q��#JJ����0]a\���C9#������r=�鎲(I��
pN(A����a���K��SmO���NV�j���C�2�گ,*J�2���'���+�2�j;)Z�-ֲ{y�����\�UVC�
'T�q�5EL;u���S3��^��^���	8�1<$*�(�Nk���H;n��0��!�Ta����zݚ␰�
�x�
O�QF�sNPt�0�c��|��@���T
�{40�'���]���r�3�_T*J�n�r�
�K�عR�Z*Bs+����F�BY)p��ː1MV�DȥF�Z��X�"��j�al���Õ�]�,��-.�Z�6�0��C�W��x*|�(Gq����q{Ot<����'N��6I�w(�g���T抠�>ګ�$����@�']�lB��\ė;�J9HO1,������\�W���>J�(�I�eb&��T��*T�=�en�]a�+��gY�k�8���<|6�u�gp�a?���ԉP�c�D=���D	�)�R-���M�=�po�Ԕ�cҼ'��rE��>���2�p�[�X�#t͑�f�]��in9b&>��A�8򙖫FW������[��E��bU1�@��z���"�k�fֹ��\�W�r�QF��0�\�2�s9��.ߥB���,`)֮��J�k�;]+�\��nUbE���BD͵J⁀�J�Z)����]�ε|�:�[��n(���u|E5���P��~��K3RU�g���/j��78�Z���8�
��LTD1\a
�l:�b�ݶ����j��g/��>Sm�[�o�	.����f6K��MT��{�
fG>�^��5v��>c���p��L��\��៪-E@e����^�*�ͅ�3͹Td�(�*�rЂAFɄ�J�
���+9�:�s�@�RT_R��\)qA%�V���k
$0ue��*�
�G��f&���B�s��=�D
bLEv��i��%�Lp$��G4+I�/�)��s��\�D��ʚ����;~��p缬Y������d����p��P���8���\
��M�p�����L�(�!�P�	���S�"J*��*8��Ы���!$�H��0�]N�֘��=�5`�s�B
A
���a\V�U/�
p��8��q=�e�/�Z��5�e�`��p�s��rp���P�$J(H���a�f�,fFN��2if��9��I6�x�™��9g	z��-TmJPV�.9�Q*��Ls�㫵�'AUmn�L�
�*����pb?�HPRi�R)��t�Z�7�*Wq��K��\j%����D��oGe��Gh�ȻN"��<�R�s�D��*�pP��:O�&���P^��6�
k��;�NQ4�)��2
�u�����{���DՎ���(d�`�28G�{��Y��L�3-K't�L�;p*
/j�|V��0u�Ex9M��zs.d,����<E\�(�ȫ�\���d��rm3_N<GZ�_1�|��
�k
rGE��3�3.�(V��0�r]R$�'�F���Zo(�m�Yie1�h���V��m��yV�]j��|�j�d=�m���<��cˋr�5F�8�0�a|쨲�e�k�Ĕ�7h��6���+QI8�|Rg�%��Gs���8�/d	��$�=q"���r���lh�`��gj8�
�-���l]�#*]u�iI�:ZL7^2ұ���ߌ3��p��S���}�ɃL��<#�i��q�şng<Ro�g���EK�����Y�7���OՖ�p\�uBt������9�;
"���w"Qq�GSd�K�)��p��	|N�ݴ�Ii�R�3݆�zdwf,ȝƋ{����\/�T�s��%M��w��5U�.����i�|��?�s_�媛_uc���)յ�'L�i����5�',�s/Jx�Q/�
8o��)�f!��HK��3.���`k2���:^�q�����6a���u5G4���ij4��yN�4����>&�ct�x������f��6�t��~���N��|C����x��$c�)����s�l�[����pI���ѽ��d��`�@\g��<P�Ed��;���Y�8A$��{&(��T�2���]�OwNJ���N�
�<��gګ��
���J��+,]�\k�����4���8���Ro�A�޶�in`=h����i�h���J������_�E���$o�[k��e���]^��������_7��m���h��mκ�z�U|}���_af&	��,2�\��s��u��-4�0䬷��5ykěZ3��h���TT󕵜aYή���O�RY-�4�sh��o�b\_o/��plyѶ�R��lڐ�/ɿ��.ل��l㥣s=�NE��y�|F���Y~�e�l�l�z�y��"�׳��J�|�j�;���R��m�%�?p�k��o(��������Gn�9d���l����M�=r0g���(�!c+S�ܕ���t�]���Ӎ�&�Z�1�]if:Gh��j��b��M�.!\�F���7��j�4���|S�ޑ��N{�
��f�0T���p]�T�s�Ի�mL�p�|W�
�
�g����AY'�U�j�����U�"�=�}���v�oq6�|K�f5��ק.��7sL�{D�+^:*�S���tN�+�x������9C���X
���3��Me��x�

�����j��{�����&S
-��
,��̱2ch���f��0�k��D�WT��6[,��/��������c���Ӱ�dbd�Y%�s�5�n�s3q\ek5�X�
s���=��*{�r�7ԏ\jĞ2��Vx�K��x�!��6
dHZ����'��4]k1�&F)8_�wF;!�DQ�k7*~h���Íg��n1T�3���)bp��wpfs96y�g{1Ne1�M�ܷH�Fjx�wp�>��S�_�����`1�-�����X,1��e6hؿ��K�[nC��i{����Vn�|i�T��0��ch���*w�rST����U�1�Jy�H���Wn�Ҽ�J�^(����;y��H��8��Gi
_Z��V%bR�
')2�Z�4�޻Z�U�lU�\�
�
d�3#nn�"�ض�k�ʣ��nL.Q/�I1�
�N��(����0#g_�{�lT�w񁢥Y�y�}O�������pNFĨӹ7u��5�����gZO��}ڞ^�D�h�l�ZSdr��L%��9BY�@��G����Ls.�9�������V�hS�$g���A~�v��X�S�\�H��+�,"`��p�E�Z�{��K5Ϲ5���AZn+G]�L"/��G^͓�9x�`!ǔy��1v.+
ĞE
~�*�^iJY���B(���P�)V(���%���5�.�RӐA���jfX۹�?�J	�/*r@/!��
�~��[	�H.Nn��N��I'7��.�dD�g��������]�Ӧ;�R7�=�/sO`p�$
��BE_���il���w��6Ep�zS�Y\��^��;]�,'y���B�|1�RV��<�<�Q	���nn�2�"��6÷��a�R߳T)F�T,�t�
�(��7Lo(�:/.��*��3���\�\�w-Ɛ�37�ҫ�SQ�`Wj���V�R'X`E3_w���䵎R��VKF�*�5<e��v���:!.,�KF���h2~�L��ᴷG4�Q�5.m�#�]�m�낫�Xu�І�/�)��b9�I6�TG�N�
�{K��Iڛ
Iq�ǫ���lw�tI�<��@}aS�)��=۸�LZ�>��0�QZ�f;�s��,G�<�Zd$+�#�t�:��Y��s!gh�&��8!�r0�"v��
 k.&u*�R�t�S��j�0J�0�"��:��U�=���E�ѥ��6&Suq)���ֈ
ތy�[9�Y�hj(�����Z�
m�Q�F�ut�i
Q�f>��v��[�RPm�U*w�t�eo<ǀ��n18S-b�}ۅ�����u
z�F��/�6xjK���=��eq+Vo�[;=i�Y�&7^}��8�.)E*O���'
Vm�tn�8Y��,8�+��s8H"��v�|�\I��;\Q1�A��<���+ͷv�U��=s9�]V�b���VV�$ȷٹ׊M�t0���M0V�t�2�G��<U��bfb<�T�#4�m�Ǝ,Q:��m����x[��0P�����
����#�rԖhp���u\`�4�-�7&
���+�
���_�.�s�ڢ���oY������RGH�afT�J������p�'�"��'/��o.�Ήo�8tz����N�>y�ԉ��
c��J�_��g��%óܝ�)	��4�j��s�[�	�����%��F�d���N�8�A���(XB��GY>,��"DOa��H{�3]�\*����G�dD��
��=K�"�DZ�L6Pl�����W
tҘ>H*2�i2��m�:��ci�X���`����eNҁ���I:nB��s�W����D�m��ul��L�^2�}�,Jhh'X�5��Τ!�K�8�+��y���E;��P��TT���z��u]�'NvzNI���d�;�xŸO�9n^�Ԡ��'��|�Q}�n�n��4γ89�W��"2���*c�|�4>OH�H0����'7^f`;��f��S�%'��h��,�#N2q��
�r��X
�̦�N14�2ҝ�a��d\�зF�a2U{����s�5&�>�e��x��c���t�������u�?e��z�ɋ9fSL�&��q4D�kM�4n�|��~�����e~���Rc�da��k*O�*�'�:��1���*�XZ'`F�*��d�y��A1|g��0�����q��hn���}9�[ڦZ��/H^Xu�aE��S�!;��A��^������d�k���qN�$�ɦ��{��<�I�$rN@��4G��S��$)v�,�(.V��Q$�S��DGE�P�*tK�)S8�B;i���3,k9k�DY.ٶ�,Q��4�"�H���
��8�k8�-��HS��<�:'A��h��i��؏�9n�|#�z�-��ctt\i;0mn<�@��(٩?�
�P�S��s�ྮ7E[�7m:X2�s�R�uȿ
�m;�R���b���Dmm7M�%
ͩ����]ru'j'��j���{=]�|7�pk��n�^��m��<��r���	e1�Ɍ�a��\�V��=u`�
���0
�=`�s�����``���0�Υߡˇ�����K6A�+�E&c�O���s�[E�{��*gDNBz�sb�N�D��i���s"G�.P&	�ɶ�Di��8�+Kq�9�39�T;qG��$�pT�q���G�9E(J�dZ�sx鶢LGI���\�ı�o9<��9�g���r��K�6@���q�n���B[�P]��d�E����@37S���+8�w��z����b]��h9�z�	/��x���,-�2[M�����/ғ&st�o����æ�Ї��V��[��<�m3?�����S����m�1�72X�a�D�x���NSi�f���3i�5a0
�9E(��:W��^Z,q)+0ͥB�	B��B%&��I]�iJI��JE�v
��T�0��V!r�b�'�ebĔ�n�Y�Lh^����;G$�[�]��t�7A�j�桞��=�9�o�J��{%+�2�1��$#�Q��]U���:���$�,��%��e��-^�H��"y�~F�@_Ǖ'��"�d'K
Rm�6�\[i��8�A���!F9:'	�iYJ�:�4�`5�j�i��a��sʹ&jq�i��/�?�כ���9r��0���d�!y�Pjh��Po�֤�1�n�o��%�v@�������ػ��|���<-^��[��k����Z�q��ۿf6��M���~S�������׌���bm�����m���eIݳ%�@]���s���@�Q!�;�K-e�NL�pPVً�(�c:���K�ԥ�8�q���
F�E�*;Y�)U2��KJL���"���%�<��О��T!�au�~G��&����kTb�ǭ��o񜀹S|'�Y1m������C���=<V��	���2��҆�SD�;Q�h�-�Y�tG�i&o�%�(��qW8�%o���K�z{�p;���N����6C��9����p���؁��ev�����l��Q"����h���A�sl�����[���n�<�gh����v[j�@Y�=E�=^cD�����߼J��L��[�7�Ya�(���O�~�pG���>�f�.��Sf�8�&�a��R��;-]�^�r��w��,�ih��8�VTj�Z
t-+���b���AV��L�s��:��Kd����Y$w���$��\e�\Ti/(������s�
C+py�G��r�re�cځ�ce�^!V��e�
��ѥ��3ty��̄ӻƹ߱��a�p�=RgO��qV�F���{G���_�"�
+6�De�o��_��w�S�}�gO��,��doq�H�f�[9�r��H-q"�d�����S��?���ϩ:g�p��X�u��-����	�]�^w���׷�2�{����ְ]e.O���V���8i�Ju܊܅N�t���B���"ˉ�S-�*��'���ia�V�1�Z�i��hm�$��<�~�~�L�V��mW�)Rx��LF�H�ۄ:v/P�e���K���	��yn\Y���c�j�0�A����\{fV~�H�o�)
�|� ����LfZI_\!G�%��#
0�Ӷ�7�g�8'Z�;ʆ�~W��-tϔvؘ��/�z{�u0��H�a5��Mٿ�'�wMx�:8��E�����O��QF���\�2��Z�~�o�&�nv��@������G�z���t�싌�_�����3���=�}/���N�x{^�ǝ4��y+K����b��4D[RM���p���4�����Ye�v0�`h3�b��ۣ6{��ihe?�f�~�~�h�`��A܁�y��!��Dk^���������V�,��0�b��S���k�Mִ�3ycҿ�|[{�Y���d'�:DX(�8�iB�G�4�4�A�m�Ih�<Gq��(�ʵ@"α��Z���َ��<�T��]�8�GI�(�$�\'Q��k��!�F�;���޹�
�rl8:KPOp-	�y��]f�	|�
s�eC$y<�H+�E�f�M�2��i1�pȈ�V���!Xj����p������
��3�M�����]��l��|]�qf��xMh8���K����f$��X'E��~���a�֭?�ѵb��M�7�z���Z\y�4,[�L��d�;�ۊ�l���
��p��D�G��m$p���A�7-���/0��g:����k����:^Z����=ߐ�9��ySs��Yۧ�i�5�r~�&�0�`J$��kH�{[�����3u����&�T�lspO�Kvr]b%�t�"Y�*R2��P�Αf9�D�цs��{��8ێ�+�Qg�:�l������a2L%�g[��܊��,+A��
�V��$A�H�����^��a��=re��|Q��ɍ�p%�V��f&�
����$-�)Zc4uG4\:PY"5]`��ge5��t���i�8r��H==n��-\b?p�kV~�ڶ:���\cd��^U�).�wI

|��u�|�3���y��9�V�8�F��væ�����gfed���~�?΁���S�*�4L�`����E(�ߖ,�a�t�h������p�;����|��@��.oڽ�%�8�Z�k�(@h��u����F�uM\F�Kp�?��p��xGy6bf[A��$Ӟ�(�3�	����;I39�tI&@r��[�)9<��9Y�.�A*3%����&stz�ǽ|%Ev�9rq����	S)�3��d�
�딃���h���#[��5�M�d��;ͱCt'���a2A�d���h=�Z'8�Z��:&�t���+̖
m�k�N0��o�(�k�Bg��S(�m���u�4��X������E��K��+_���G#�pj{��&��NN���`���a{�;6���P[i.]�t�Ν��n��'Na���d/Q��{�L�����żf�o��no�C�����r���C8n�ʗm�:�q��tM�hN��_�AC�.�|�x	N�T�N��4�	�J%��.NΉ|e�H�uN`�r��Sl�i��4Y&G��
L
tXh�6�m��r��a��s��K&_��;KcB�(��nf���Y��b8�P��}{ě�K���y��5�%�&�L�<�L�ZL5�أ,7D0h���z�_N[�����"l:p��26�k>_߽���O�*�r���2#��:�s����W��o1�<�D�<B�=k���n��,�yKE�5��%<Q�-��*���V�w��ou�mG����-�i?�y��!\����[QQ{�'Ni����a�{�(�"��.�R��A��Q-p���"Jr��
d�<N��8�ǁ�����l�16��|�T�$ݞ�a�Ͱ�bg��8��#G.�w����\�\��(J��؊R��$i��:��-�ƶ�g2�b���O_���]{��&��c���s㑺�K
8��r��������ip�e��@��:�5�2�Jǁ�o��u�#�t�z�tlV��򄚳ސ.�H��nIB�Y���ML��v8��h��ԛn`�؀��FZ*�=�]��������;�]P^�c|��bcaG\h�V"�V;pK�]��rq�
��˫�+ŵ�:���z��2�K���Z��Z��guȪ����������+U�,Y�'N�d����N���8�L�q|�h�0�W�1�%:�c��t,�j_�j���Ib�_ʒ@K$O���d'K�@��dG>�YɎ��q1�M��(K塡,���$�N�:	�vB�P��H�B�HS��:�l�>�-�r�7=�"~�;��p�`�i&>�_sK��H����/����f��|��z��������Ê/�S$����G
��d"�ɶ;��%i��F����E�<�,�[�Щ��9�~G1�R��%�R�Y�ɝS�x"ܴ���ŻQ�q�%��g�\Tl+-ub&p�q�)��h�P�y��Y�D�Z����iA=&Z&ڌ�`�����͛7º�…�*����-��{��3U!�a�
����8�=NM���$p^��	q"�$I���M�GC��icX:���𴡦�=��:5٤m<�رД��Fo��q��e�6V�r|����[/��ߜ�o:������c4���v{Ms�`�QC&���sm���'�K�eD��毨>�g1�=�x7�o��懺�0WX
H��/��`�G1�u+��R'EwX��o���0"�{�b��L�$u}uu5~�j���	dXݗ�lUpr�S�
P��M�I���!�����C���=��p���BP�oh8�l��Q���b�
���7m�����[pwZ#+��r
�4����(�i\�o.W��N�h�,Y�ě���s�(FO����|j�EN�<\�(y�PfBm��Z�L(/q�1����U;���o������X����?-�{��eU����tK�y��%�	~�'�?4��4�H�(��h��^I�����C%�JS4ٳP�i��.o���$�h�>2%�`;�pK!n���Q��P:vZe�����X0�5U,H����s�HI����l��BS+��K0��T��(�3�GT
*��a�i(6
�3���1��".*�h.%|\M�_�pGu�@$��zJ��)H���X�"������?������qO܀2��غ&Jݓe���q>E�bco�2�n��j���,NU��'B�
Չְ��m�����|d
��k�\����/��(�	c8�D��?�J�k'��\�E_�őd[K�l����ܳ�.��(�U���\��8x�D�B����8ֹ��[�b:n��\
df6��t!���[�G��DY�0�آg�Q�d���V��q��-�y��Λ71-X�F+�󺗗�	���
�.��"ڞ��WS�82Ulj=z�nu�℥E#��!̈́�8�,rMq�=/�J���97	�-��bHG����9I���S�4qI����3�X�M����s
_��(�9ZL$�
>p�2"
L]�g���0Nn���b��\�UZ��:f�t�W�Y�շ\k�`�J�W��o4�w�y�9�Qu��3����m�N?���֎��’򒦖f�Yg���A���,m���a�U!�W:���uv�䈣����%c~��n�8���Pm���.��6U�*�$	�Q��4ˈ���5E�x�'��%��
�Z����@+2���"H�Cb���t�<����S��C��	J��>&��eE|�d9�`i�4i.Gҽff�0����§���c�Y:O��˹�b��#-���o10ݠg�Z�
L�p��Q���*}�0]�0�p�0]�Uaz���ktM�꘮�5[c`�ژ�ն߉[g0&��P$1\^���(jDc�
�mmh���y��}�;���O��+��\�d	o��bL��40A��8V}��k��-I!��E1Ɩq�=����s��^>U<p�:ԧb�5�U���\e)LLD
jCS��@{PpB�<
E��,�h�l0�Js����HL0CC	W�L��3��9�{n���.SK0ۨc�Z�d��q�6���[�74�2]�k��t%ħc���"��4T�$T�<\8�Bum����1]�m�Z�d��!$���n�Y�8a!�yN�=mEЊ���#���j�J�K���o�g��8�n��%�^p�(p27�b~-I���k�L����s�XY��$Q2�,Q��T��$�@]�5^Ն	��P���	0H�Yh�tGQ�n���i���f���z��:�aZ�+Ѵ�C�ЌB��6㰧
�afk�LCu�V7t
��
6�16^��1[e`�o��J5[m`��r���J�U������1�\�E���T_�5~���&�X0}����Z(���p
��ĉ	��)�tzN5���W��
J`A}Q67e��*B�%��ڊ���%�(3yh�nLs�$�p��C���v3�MF���!,�U�Fᚆa�!zf!zXSöE��E��9Z0�C4�aHM�u�Wk�Ƽ˕�k��iw��6^���v��
��!�0��5
C�LW��(7H-��u���l�7N�TS�79p��X{1�m���Sx�r��9rɈ��F�6�9N�
��Tm�8e�8��^��Wa4~�����/H�
�w���J���p��D�DA/kx1g_��\u+A��f�D�swZ�m6�\g`�Z�d��q��Q��a��A��a��q��Q��Q�L�uM��&A���
�c��f�1��o�RC��ag�V��Np����k��iZ��%}���&iz�D�f���Q�3g�N�l���Q�0�g�QK��%|'7�N�����:��
�l�D;`�f"~�
��D4�m*�&"dE�NNA����hO{�p����8Y��I���ņ
юk�ma���~���z�Ն�a�ơ'���+t��h+���t���l��i��Y��Y��y��Q��q��1xv�
���+u�LV�v��Xc[/p��:�[��b�
7��l�o��lcå�i;'�l�|�¾=gk���9P��mE�j�U{��0X���`��حN)nW��:8�[�8��_�Fh�X{�N
� �n��3+G����:Q�~!PM�(xbr�p�
�(�H{~�U�u�?� 
w!�G��Ƌ��<m�%���t���g!�̲
��φKn��v���s�<T�a��P�gB�d�<^��t"���/�pcK`�1^�i�l�q��j3	�1-����l3�mD+F:���Y�h�0	ֳ�3����2�
h����a�V��_5H{S�
]��G?��d?�&����o~|�詃��t^/~��c�D���<|`d���wη�,\��ѕ�UV�Y��4Z5�v�Q����8�o�n������!05��(��r�7�n�"������aj��c~9���v�'��/��(Q�7%�1v�X�\�8������k�a���	�b��%:�x�x�9��y�l��Y�m2�Zk�x)�+�j��a�������#?M?-4S��3M
'��j3^���
�@M;�C�W0X]�=S_=��e�(��r���P'�Ef���7�N�>5�|wrsb����Գ�N�U��8�ꟲ�'ba�v��!Ӣ&^�}�j�����1*���ӭ�*BsW�d{E*
繯U��Ѣ���,�u1]�m�7�$��|���Fs�v[Ģ�h�0b�����5�D/�����T�t/U�=q��I;��4q��0*������6t{Yj�UQ^�
�|jOj"�.I"�D~�o��a���r��Y��a���rMm��:K��[��韛f�\�d��������y��E�.K�
��N��
=C�C:�o`�H�4��(�E�>�k�4�2���G�/�N�2��:���S�Y��ەT�;3bk�#���}}p���M6j��=���W��G��:u�?i��G�O�.��/9R��0zX��Q�g�M�#��X[�-�6_���t����޲!�ˆ0�G�l���Lt3��b��i	���k3`�q�L�W��٫�K�8�
N;}��f|�j��/l;�:1Ɩ�˞���~��5��C3��:`�i��?��W�x9��Ɗ�mڃf�L
�L��[��4�a���8u�B�s#g%�&�td��T���X�Ә�"&��pü��[ϴ�*-;Q�0v���KSɒ�qu����WDG�E�8}�̓kv�=|�XlV|L{�Տ���	�^�ܔ�v�vG�ư�p�X�11�����ĸ]��j}�5�:/uY�Z�/�2[�������6��6^��6�e�h��ZF˵�Lu��خ7�n���`̙e��^'f>Ź��D�e���8�o�c�.;�N[t#�;����a��2���4t��[�����-�2��2Z��~lC_m4_m|54�/4��\:�.�f���f����X�=q��1�i�V'	�,@e����\��Ɓ�]���X1�b�A�]�9�U'*ā��c��6T���?���uG��%��m̟�
����g�?��W;�:r����Ve���	�7�[i!
�6Y>���ً�J-�5&+�
Wi���sZmۯ�l��
S�e�&0D��肨��2���A��GS��_���$H�j���fs���A݇�I�6��e�i:lj0倏	��n�B�[^ht���o�G�p�l���n=�Y
�7Z�m௡�|��R
�%��KѴ��s2u��M�h�jc,*��
c��X��a��X�f�i�������
Dz62�C�@-�?��
�\W/t�N��kO5���-y�>:��huҞ�5)�
'�C�Mǚ��o�<�]U{���h��YQ�Q�
&�����*�2/e���i�u�Z[�pm��چ�Fk4̓
����j`�Z��ޚA�a��k5a������v��>ZП�����J�G�,�y��e��U�q�G��2:c�H���ӑi;и[l7Z٬1e*��_4��|4�a!
��C�kR3X��f�=	]�mx�-�?�!>��gZϯ���?,0�p���nU�jO�j��y���ʁ�6�o�8Z	��	��(��q�@^[��݁M'Z����.�nL����;��=3i��Z�d��>��&��:��|��!�P������L��$	��i��Y���*}�p=P4	�7
նXm`�Ri��:�~ͧ����Wp2~������X_�Q��'�̵	1ÝUL�cZ��!P-����q��E��(1X��(����X�h>�.����x9��L{]"j�ߋ@U%k�\i�Q����5��
̂�����Z��痵`r”���	�cpS�
S�fF+�Vh�N� ���G�
�����#���2gJ�
j�TU� L���`-� m�`]���G�
�v&nj��x��>���W����d�mAa�˴M���Ѭ��X/73��ô:�uM��-�5���jQU��It�ƩF���j{U����aoU����k�i���l��74+rŒ��C7���c�Y~F�FH�Wj��2���S�[�������P�5	C�H�0@EA�Ɩ0�0��|-�]�œv�\�:;�(xS�����{c��f�?R�h��\���\�/�쁿�$2~W��_�a`ih��[�KP���u�4\�c�H[��f�ʊUe"Vi�=I�����ݳ�'`�!�B�}�4Ƒ�����-�t�m��u4�5�`f�$���V��fPݠA�
@1U$=�f�AF�~VA��AF�����(V��Z�0�,�v�r�����8u�ڢU��%�Ĥ�%��&ƵG�v&fN�:�Vv��_�����nE>�t�`ؗ	�
O.ײ�3��71Z�e�P��i���/��[0Do���B�g�"t�g|g����8A�O�F�ZX������r]����o`hb`h��_'|���02
4@��8�-����
�u�aՖ8.���WyL�<vv�L��a�A���n��Y�#�aW̞�1�;c[#2a|RgL���Y�S
Of��9Xc`f�m�L�[�z�jl�<�6������\�k�@�p���-�f�~F�=2=�p��Ӷ��C}֕§>�J{3�O�?B$uWJb%w�y�����q�������6�$@��_��O�l��fB��Y������h������Fˆ��X?�,X�2��r���B�)V�Ӭ����e��6OY��xe�xA��Uk+׆���\�n{զ�Ɲ��Q�9�="�uW|Gtʾ�����}�E��%��������W�Ueh���:�m��,{����^�j���"cl���&˘f�7���
p�A��a��I�6��5zA�ala-aKM�u����g�L�x���"}�Ef��l�>��+�#�
��}�ܸY>����rW����)[��d庲�+�m�ܰ�vÖ����7��n�׶;�3=�#��di���w�U�/>�S�Y�R�Og�+�[F�$�FK_9zyuN��`��j�_����N'K�`�ӸW���:{|luW��O5�i�a�=Sm`�^>X/@�Š]��:}�
-�M�}�
�j�N�o:]�r�)���{���ة�b��/M�		�	�����Y��<�
pea��իK��V��zcɚ��-�˶l+�[	�t�β�\ͻ?ܼ�م+�_>x��/�\i|���w*��\a���b&�]��V[�ᅡ����W5��R�O�=�A8�h�8
�>Q��W&�Kd�biu����[1�(�?-�$���t���B}����,X�/�,�;�Y5b��scf-KZ������<0�?
sY@��β��e�%��E!+���\W�j]��e[v��HٓT�U�gN��8z�ȕ�._x���|xy�������'7�]<v�k{/�_��b���ә5���7�C��	u"�o���٭K4u�z=�z��_�'����4�ޢa��O����|���L]����y��LS�B[�@��uC��8/j֒��˓��7q�o�����ox�M�k���V�,�Ь����u��c�wG�o�ݗ�֜�x�v�ɶ�w.\��Jש�+w�i>޴�����`O~EG�ͯn�o����?��Ν��}r�������K���.��k̷��4\�z4\����9�_�G]BUګ�Ƞ��Y/7�:
�i0�8�	���#~*P&�����p�Ӗ�
1`�`դ�I��T�	��K��IJ�~�Ѻ�������B=�EL3A��@�r���,�"�w�����m��
f�⸹��&.�MX�,qᒤ9KR�$/^���78��涧w���Y�cMΚ�۷o�Z���`��;r�]ۛӚ�q�;�퇎u����8~��w2;RK��f���CEW��t������}��w߿��E�ڳ���/�˪Ͳ�5��Q�%��h0�
h�"n�5^�o�^N��Y�`�����T���\���LI��^�	t����e~68"�EΊf�dAZF�4�k/�4FM�B�&J�zKQjF�]v��L��GO1t��.�7�o�?SKk�`��Z�3�ys��^A��׏��sʬ]SgGLB���-���0a΢Ĺ���-MY��/�gY�"��������+�}��jc�
b_:�U�Yw������/�x�B���S�N��~�xo��+�J�v���K^���{|�G�|�}(��P�������ۻn����7�����x���|u����sU�j��V�_��]�j�gi0q���`\jc�T�d��%�͖jZ,×�Q���_�l�(�8�U�3���g��^c%�
���)p���C����v��Xwo�j�j�`�s�>��a>���1�i`<�x���4s�l��lx�Щ�&͏�;?z�Sl�s�
~K�/���
�}���,^���7m�_�2�5������&6$d�f�.]��z��O4j�:�UT_x���ڤ��u��8}�|QW����_�q����蹣MgO�?y�̱���<z�ȩ��_��|rg|^W־���*=\Xx8��Hyő���UgJ+ϕT�.�9_�p���bm��=�
K������,f��-��
zL��D�����CH�B}E�`O8�fk@���p�[q���ϐ�1�!�?tA]��:&��Ќ�,�3�gh4CO���m��6sM���$CC<ƭ=eӄ�;'͈�2'f���s�fKjoi����.�时4
cy@��Y�p�!�+V����6�j�wq�撍�ՙ]�:;��?r�p�����OEU�z�ځs.�8_{���{7޹���.��Ʊ�Gn}z��H�/o��ij����hA����9E��K��,,?[Ru���TIՅ��˕uW��\�Gk�҈��f[��榰��7�8�;Gh<^�p���|S��f�&F�i���2�«yP'��k8{�Jdl�Rw����Z���.�D����i��61�n�3ASc�
�y�f��x�`h���u�fm�:w��Y��Ί�
:'b��ٳb�L��0#n���sg,Je�)@B��7e��O@�2�Y�CrBrV��"�	/]U�ruaXxq�ꂰ�S-G.ݞ�
�`�>��ې}�rg�K��w���7�N6~��{7���u���DS������e�K��|���Õ����e��-8�]z���ti��
z�\���PY{���bu��w�
Wi�ڄ���~�{+�TlZ��&#< �oI��9�g�
*�dz�fn1�Pg�@T��t�.�LX�S��X	�@��&#�yC�fhM�2�e>��a���p!O���k�ڑ��L�1iZ���gFLB��k���	3b&͊�<7v�����cg.���$a�҄���%-]���BPdl�oP�C17`e�����U+oMQ�����K�l,[��b���M';��
�	r��g���r���W>�x�LWZ[r��ڪ�U��i9�I�brd��J�=�Qp2����U��P��>]�U�˫�Vԝ�n��X{�zϕƦ�{�/��������?�~�я��km�T�1�pEXVHHƊ���i���Ο�u����i���p�q�����vX۷�V�[Z�o�'a|�x��X6Ylh��wF3]�g�D�x��	�0�JGs�����v9�(���Rm�t�f���h�0����2t#j����7w�%����YO�0c���>ܹ��e�aa^7���sʌ]S'o��6u��i��L��:=b��ȉ3vO�=ev��9����̘;s~��	s&�]�4oI�|
j|�/�XB1 k��� P��
�\]��d冲5��n�X��j���[�6n�߲�|[����_ܺ���wN�����Suy{�3Z���$%5ǧ�%e�M�ϖ�te�ʡVp8��h~鉢���0��g��/֩����
�k��6��l����}�?;t�#��:���oN�kh۳�)�Е�A+2��7i	ڲ��K���.Z9gƶ��V
�-9β��na1����kh���h9SA���~���s��|�x�J��!��L�����0��e4S�p���\�g��!��k��5������L]�ٸ��L�iZ&
M'0
7\��jf;�J����6t��Q�6���m��퓦혌5�'o��h3"���=}VԌYQ�fEO�3mn�y�8ka��E	�'�_���f�o�b4��>�Y��پA9���!y+V���*
]S�rmI���U���k�Vm�V�q{ͦ��[v�o�Y�5�qg\St񡂚c������3қS��2���h�P��7�(��&��W|��*����T+j�W����e��֫M7Z�������?�qבO����/������Ϗ���ĩ/����t�����śÊ��䄅g�e��(4ꟺD}��/^�pQ�1��
F��=w��ac�}]�������c<M�r�������.�S��2
1�=P�w��������,M�Y�F�tfi���О=Dg��9zs5���G����2��,-Ñ:Z���<��5�̶s�u���r���c�l����&m-�Kj

iΌ�6+r:>���Yh�b�f.������]$/Bh��ty��f-��'[ʘS�EakKV��AE��j6m��Q�-�~���
����������7&�+9�+%�+��da����$�%�A��"�8�W�Z�������8���A;����1O|�
��g�:y��SX_��l��}��ʶ�)
ݐ�zmNXh�
dK����K�sq܂Eq�o͉���QS��2=r�ݓ�FL�e����.S�&�[N7��ed4Wٷ����2}ܺ��O��WWkN�9u�֟�i2S�d���L=��:�S4M���14gd9��n�g���G��c̪��֏��[G��6b��v�d�������m������"?j˜��c
:����iF����%}��L������@|�05�!�W�)�G[_�z<b����Tn�^�ig��]�["��n�ո#fO�ŵD%�F'��$�'$4ǥ�ON�LH?��v0>�Hz���#��3�g�/
�0��G�E�#
����{�����O��0��?4�����Μ����o�c}���~{;;vW��P��p�ի�CB�I�O5��ti��qs���B�03v�Ԙ�S�'L��4m�ĩ�&L�6u��)ӷM��i܈0/�rw���x�Q����[9,�t\fm2CWo���DM���:C5t�1�k?�J����6,�kt���k�LX7v��1c7��eԄ���S�Ŵq;G��5jb���Q��w��?u��gFM��'?PDCP�����E�A�R4��e�龁�v�~��MW��凬*]S�r]a���
%�7���\�n[��mU�vTo�Y�#ƤB���ݘ�������ґ��/	��e�O�>��{0+�`f����9�G
�N�/*;x�dTɜ"4%	��/x�N
Ě6`N���?@�<�ũ�_�:����_w�����o.\��"�W��ү���M�kQ��\��
=44{zkP���ǩ��hq�<��g͍�1;z��(Ɣ��5}���bF��ĉ9i��I;�N�:~�����M�-^
��le9ޔY�3��`�4�^<W���MZ�9~҆q���u��-#�m��	�GM�9�m���)��O�>aR�]����c"�&����5��ܘ��b-.��G��8��b�bJ���~�1��	Fx^hx>�W0�i�j��Ϧ��[��o������mu�#�w`�1zOD\Sd|sTB(B�q�{��SO��ٙ
���se��-=^����hq��c�U'�+�TV����X�x���zc������h�A���v��Ch�>;|��6�N���W'��œ~}
���7g��7�.}w����^�z�2��x�ߡc�c��nEQqk醍��6�^S�
57�dE���h��%I��s�T�8�ٻg�K͈D�r�ԝ��38q�X�n?a˘q�F�Z7l�o��=~�hZ�l8�^���>(4e�.d(4���8}n��C��p�Lh�z���4�6O�"B��O{���ym���]y�/�)vⒸD�-W�I���%Jl"EQI��E�`A':0�0��z#�z���@б�b��}�\{�İa��s���i��펿�������w�
����i���>�ҔUD(��_�����7瞜>?v��Ĺ���x��EPxc�
(�X�	�]�uo��s�v�Ꝯ����{��]�z�ӷ��:G�=cS��S��\`��>�Ĺ���k�ŵ��Fte=
]��F�7�u]dD�BCRkN뷒Z�
���*�m�ّ�83V�6����'�O��83p�ăϿ�x�G`�X���w!��
}�J�ڵW��!Q�P��(rJԯ��_H��T\�+�d�g��Dd��}_���X��$MQ����g��uH�x�X9�C�r�Z0Q�V)�v�M�IԀB��|�P���񓍊���''΍�<?~��x	����k�"
�,��X��H�إ�ӳv��Fg?,Ŭ�?s
OxF���g�Og�3s��8�,8��]�斤���r�ْ��YZ��l�����eMli=�����RzSR��jM	�%e6'��8>c�Jm93�-ɼ�X�Δ͝qx�N�˹ڴ������^��ܣS'�����ޏ?�=�a�Q0z�r�_pw�G�~w�}�����0=��f-��xeOj�2�T��Ae�=�uU�
��9]��ߞ����
���߿z����U��-���*"�5Ǻ�C
�J
��~����4����ةsc�Eq��6@�+7��|v���u�N���ۈ��,�is��G&�'Sޱ��Čo���f>0�Bp1�l)���
�K���Hll��7�Ki�Ol��McJgL��IT�Ybf�d�Ķt�#�e����$M��iv�6�.A�7�n3�L�f:.O]�:z���3�O|����_|�U�v��~�;G0����ݟ߸�*��R�D�B�C�
tP��+��#���>yx�7��Pթ*M�.e�i���*M����#(��|�1U�?C�y����~����'�kFN5��]ss�*#�"W��i��>]����Lz�Eǟ�&g�S`��SFE"E
���R�	/7T$�M�"&�[I��5�eMl��Vk�b��l��ikͭ��m��˝vq	7�df��"���'P!˵�m��g�7�ߚ�ym���'g�=>}z���/�8�y�ǟ��"���
�ͷo��R�l����^᧠t��*�W,^Y�d�.��5�R.=G�f��O�5.��ڕWA!c��o�s��[G�^�;��o�<rL�ۨ�`���clL�4<�zDE�
�R ^?{q�����Q�BPع�ѫ�0�
Y�!
YEN��
rZ�`\΢(�WDJ�aJ�,�ُ�(U�,jP
I�)��iB,�#I;^�љ�&g2��zNg���"n�%��p9;�s�y�P�Ӝ3n��yt�E_���X�3��tǭ�����/]9w��7��85�j<�(6�w���#�oCP�u�
L�^��L�^�F�#����2^ѭ����
U
X~}���yl�����rHQ5���F���Ra����
Xn0k�Ͷc�G`�"?���}�?�<�(d@,�=u�t)Q��.�.^��x}����7�]��x�c�f�fG�������sp��{h���Ly)��E�N����Ќ��ȥ��gV��K�Mdu-�Y���_Z/�A4ő?�Ȩh��)=�bkK2n�k�ܪ5b6Zk��skM^�ֵiX���k��m��:����J^o���'�b��k�m�_��\���;����W�(���ON�Q������|��þ�
�����Է�bU�7;��W_��ʟo���r�w��'s^�6!;���o������~󇋿���~���^�
]C~�k�ᚾ��?)~��ܨ���֑{�r;�s�X���.�'H�������Ό�:;�͹���N��4݈B�#B��\�Ҿt
�um����}`���=���1�cP�X��G��'Ӿ����(�L�Ή�!�ŹeiQ^]��.���D�����66���uC|�ךb:sLo��[��zNk�7�k���*nY�fl9%`LX9@D���Kx��|%��$�K�0��"�����'hu�z��/��ko���������Iܣ/}MY�a�ѣ=���w:���;�o���
�z��	@`!�T���3�(�t)���삍/T�
�����c��o��K��X�ߌ�8��$"�O����̷��~{m���gWhj��
�߀������"
�"#,ӂ�~�5��t���UD�ia9���붪	��I�)e�!�3��ƨΚ2Y�h*���5�����l85Z��'洊f�dEF��,��uğ����-Xγ-��ւ|i��唼���J�@�.�R(\��p�)���`84��<�cӽv�{�^�|�͙kx������ߎ�����z��/���#�����v�x��
�/��0j��o�B�^{�hx�ڳ�6�j��!b��i�!�)\�4�`
��Pa֐߆r8q`^�>���W�E��\�v!�y��S7Bp�A!�)�SC����0럞�C��;���[R��D�������nk��.�5����0D�iӖ���]`cCX3�k��W�so9��7
	�-`���z����E�=��D9o�˧����!�R�	y��+;�Q,�R>�K�b4Z��%B�ڢ��*�<��S���և��}k=��!�!�M_�2u	�I<�
�����|������=o�z�H�_߽��;���ou�P춿�����h
�Tl6Sk����v��I/�6��!jȩ��<~B�.TQ�,7F$(��r�Pxw�v��n�����;h{�����`�1��p�=8�n*�J.e
�ɹ��|h��5
�
�)�7��̬1$�pg���5~��5�y�ѯ�{7=Q��3�B��+�pDl�����S�@Q�91��@�Ȩ9ʥ@�(I�P���U��R8RK�P
)���x)ʐ(ǀ����?��妧�1�b�l#��z�q�Yh�5�����o'Ϝ��w�����
��O�����K���5��u���%�&������ZdQ8m��K�6����#A��5���)�/F�:=J���7&N_�:{��k�n,^��:��{��o�����>���98�z
G=CO�����0�ԏ@N��P���B3��bdn)2O�4�H�4B���o�",���\��}�
Rín�6��&����׬�I�on������D\�6v�fͶ�$�'��彾�W(
\��<�Ӓ_	>Q���h�$�Y)���aQ�1>��+�x).e¾�?�"@�8��$��x1a���2
��Y��I�92�ʀ����;�_מ]�<�����M0�mE��j��/�>a��������=�w���V.�qS��S��;�m�����s�Ǻ��ON�?yv��g��g��/�\�ڱ~�K��k��3w�m��[zX���A!0��<~B�ftb�Md�Ŝ8��l����E�u�JE��Y�}:�=]�-hÛƘYҭ4�A͒{Ac�hto�Z�eeӹa��6�_��]��뎘��X�-�hsE�΄͕F����
9��y�(X��)CT��P>̋b.�@���/���e)�d(�&��
�%�D�$��p8����j�-]N�%�VZCVAnY����D�7�҂�2�x�g�{���K�q[s���%�S�\���_�|���#�+�Jq��ǟ<���c*�ŴB��9>��Cj���'<������iF᝵����M](|`A
���ȥ��K]�݃��K��H�B���ADG�2�BhfY��戡eu�@4�����Y�̂}qťY�ZX�.�E��N��dp��h*��Σ�M�������ɥ\|�C�)�j0
t��"����b��-�e('bo6�Ť���QJ#4��3�
�K��C�,'���T%���ҥt���T�����Z�-��E���lb�ڰ".-��	�O�){���F�b���[z�;�
w�o^_�|q���SxC̩�/O�~^������_"jJ<�#U˛Ί�}j�o�(���w�[�׾z!
{�X�o��Ň�>��!�0�h�=����6���W�6~���s���j=�)��禸��[Y�j�뫦e�S��j��֩۰��m��,F�^g��yݖ�fQo�������
ϝt��pF8�xc�8����/�s~\Ŭ/����@��K���
���d ��3��,��X&
ȥd������v:�*��v&_�ᜫ�
�B[�ZtG�樑\��zH�\��S7Qg}SS��q~Y�C·��,]@���1ݽ��us�ʕ�o��9}f��E��Z\�1�#_bdA�=�8=~��o��5�qg��=�N]G7(Dn��\�aR��@,�G9�Ct��J�`�\7arF���=e�k�\*"�,�H�ҚF\�Q�4�sK�g�Υ
N��X\s������%�`3y��[Kx��li6��
n��3Y�����4q)�7�q)7bƃ+J�(	R�	��hП�������'��L(��D�_؇tJ$Y���D>J��SE9SN3��S障����L���m��`�����V�W��>!Dơ��1
ݐ4�<K�4��8	F'}c“1����1?0��p�>p�ܷu>���Z��e�ӱy��ꍥK�琊O��8@|6�Z��oP�����r�}���͛��{�;�Ǝ.��n󽞭�^K�}kw��吥SP����#"R��R��d�Q�/���o5��0kbk뱵U��}q�8�b[ֺ7��K�-�A�Z�tj,~�F�lr��nݳ��?��&x���2�B�#�����J$,7�C(����b�*�	��_���BL��ɄC)��`,Ťh:��E�e��+)P��	4��\M�k��N�5_���b5_��R��V����M�XSfK¸3c:&m�Ti�O�q�_���N�㓁�1�o���o�C��������ٺ۵�ѭ\���7�__�|~��������t��������һ�[��N��.ӝ^�=�V'��}7����@Tri�M��{��N��F��pj�O;Q4��ȥ�����ܐHa�a�m#�AFe�)�ؗ,A3��Z�9wځw
��4�aݲ�b\��vSX�58RW��ݞ�Õ�c��]n�����g���W�p��̅�<��}|R�G}��hA�Q��H%Q��#��b$G�#�i�*gj�TEV�Jm�p@�!���y
�"�Y
�|��K��b[y�"fΔݞ�ؒk|k+n4�0iۤ�^]�.�WV�++��E�‚�ٌ��or\����C��!�n������{����k���&
��aw����{-��[;�֞��[�C��AGߠ�t`�E
�(B���'��#���3�h����㋖�]lC�BƦ!��ɔԭؖ�q'��giç�
�16Qav�F�����,�R��(ҢW�żOB;�N1��_�_\��Dž=�T0���<0�3J
�L�$�	*��HDn'�J�t'�_��P+��%�P-�*�9�pYR�V�ٖr���:0�'m
�T��!��F7V��Іޭ���[6��bX��/�Vf��S��i��{|̃$<4�y��58�����	i�g��{/j00��C
eY�%Rd�qD!3��'D!���h�(��SXY�r��"E}ڏRW����j�)k��K#����6<�Q�#m��l1�%��J��}5Yo5'��<!��~_���l}a0�'ň��@��1P(�J&P���πHT�t)�,%��j��2��M(l�Q�*;e�q�T�����N����[��#B���=��ۓr�RN�l�&��C1'�I�Iҙ]�p0���bR�;*�6�iCc^\ޚ[���p����#�:���{p���1��G�~�!WCȨ�=q?��1���S<X��=>�g~��mTę�
�)��NFc�2G$�&N�1
A�V���*��V
mz��#�DWʎ�+k<y����f�/����B���Ŵ_��(�<ܸ���y���(g�EdQ)!c>1�#F��XFB,�6�UP��ș�f+�E
U(�U��J��m���T-�k�J�\��@�n�j}��S�٭�w�`�mgw'^H��T�,<CΛ�`@�@���&M吗�$��z�^-Ww�xd��X,�v�u}�{6=��2址6㇡SF����g�<�?��<%�R!�'�],
1��Y�o�RuL��o��i>�k���r�oSQg���-�,����:RVg�����d�Ij�.$R����f=�	x�a�Jy�'{�)rF�/�{n!�
/��I�����P�������J�b,I�~��(yL΀6�H�Ka�r&[ʴ�Y�.1T���Z�U�8�j;��.���(��Dg��Ą%P�*�����`gڎ����+�p�x"���H
Y��k�|�Z�����j\ᗞ�'���y>��!�Ơ��)��od\x<�?�pe�!��~r�����Լ��ac3
�7[���c?
�4��m��6ۚ�XT�Q�HXL�8|�����B�͹�Q(PD�C٠���v�B8'qaw�1*��~�$$�qDj0eDX��j2^�ɵ�\M�a�Ue�ɴ�c9��8�r�+e�,s*y�?�EɸD��wk;{ȫ಺�KF��Ѷ�WOo˘|���b��_-pփ׬�j��n^�&�B����8d��`0�FEQ�:L���\df)����MB���
�y�8VbP��)x4�6�P�h�i�fX�\J
�҆4]�sD�lS��0V`P�D�R+�:���O��:=9,�8QJ(	e�B�j!���rF�9��8o���?N�e�44�d(BSH�p�`$/)D�r%)��נ�O(�,�B���̕��r(��b`�,U�,
U�� ��ܭ���5}��j

-T#�
sA���1���$��������m��d>�/�˲,�\.���nۦ�YJ,h������cA����3�)�4�A�fcx]�o��S�S�(\m���Q�ͨ��2a?�qiO!
�j��l�rmF)�n���#dxL�����M�]1�#��N$�`B���ШhA':E)-�ߏ�b�Mr]D���
�rN�~9lE�"�@$��"�͹T
�f��JP���;|n����U��E�R��
�/�^0
�#�E�%�ހ����"��r��n(_�V3��
�ׅ>uU��61���(+���IV��8v��p��g=>��
)�+������]�"�E�6J�)��5�eː��4�9�<�K��O���
�e�7��WHz�(�8��t_���=�|HHp2o��G�b,�NC��%��B,6#]Ne*0ۨ��l+��$�L)�+Ιb�"RI��ȥj86�RD!Jc-\�����y�G�	�|�m��
�p36�����yD�?-��G$IB��r�P�����)��Hi�q�]�/�74P+h�J�8FSAk�
��E^��:}�ic_��,#~�6D!��gI�ެ��"�Y��丘����Ϊ'�F9Xk�'�=!7�)4]�|�At"�
j��('�H�̩��#_@8,��?��.�TD�)�Z��'˥��y�����,(w����VF�:�hb�jB�ƙ��iF������
:_0*"�"(��@��b1�)�}ָY�՚��0��5f�
C2���0@�(��l6��2��Z@�u�����y��oƻ/�M
F��4�S�P�]�Ek.91�1�+lC̹$�7���.�!;�(�"�(�4�"�"��F��LM(d}!˥p���`�"�@�C�!���)f��ȗ�4�?��a�:=�N�\�
oO!�	{�w��;|n����;%�s�����4QQ-��eI*%Tsb8)e��=�n�PCȽ�4�c4\>w̅�����;�$L�#��:?=��#
y*Bf0+�.�i�
���H���촫os�l�"�rNG�n�؄��
�BHO���9!�F�rP�R:(�}���.�'���3��
�h�a���ĀR8^�&�!GiE�,&����N�TIV�i����BSy9UHQ9,SD��TU4��3h���@��9���2:��(�T�:1N�W��J$R	G*R�Ey��z�����'!J�(��N��Mr�lY*`H�$L��b��~�ܗ�L�ꔽ}�(��^[�b�Z)��[��Þ��Rn,a8S.W��)�=y7�'zAW��l���#�-�-w��p�~�%�@��&�U��0��
�"�ԅ�dP����2��F-��Mm~��Jd9�dgV�����
:�;�6�ZՊ��1���/����w��m��5��ۢ�SJ��+�Q�Ql�T´YT���	ЙDVV>@'�h]��g�jrv2��6�0�y�)�^�����k��׻d�#n��gt�]����N8X��˂3hwmR[3�3�`��6�x�FfB�"ipɆi���P�"�L3�&��5
:AD9�d�KJ�JD�����!����Z{�?�Ѓ�a/�N���.��H��@�
2�ћ����OS>W��E�".�������!�b���Ab$�A=�iR�}a㐴{҈?�e<`��=h'x��.�q�{�J�O��C׸%'�q�W<PE�b��S���X�*=���D\�GmY���@��RЮ9C�=5��"�Qƙ"#���
"w+ս��n�;��B�U���t��*WK�1��&/
�)0�U(��6ǩ���Y,�l��?��D�I�y�b�K�S<3zL
>��1�P��C��1F��J`
��ٱ���=����
Dᗲٯ;���B�P�@)�%�B,
]�@��/D��0W��BW���W	�5�:^8�l9�)dr�M
�f�R`�1
k{Uf��H\kϿ��9��2!���mC���$���
ذ�������G19�Lgҩ�bD�{K%d�$�d���#
�Wt�V�͂c:���(L�
�Å*ub]��24���
��RV�8�߉�n0&r�ݽ��Ĥ�z��B��C���0AJ��ZP�}G��Y0�ʮJf��
�leFD)~��5�mR�����ی<�wqخ��
ͽ*D�*P�C����'�%��
�����z>���Ë�7d_Qi�mr��D:�NeSx�x�8'�؁�ր���(�EaA0(3z���-�Ki�	4~�G�;��.���w�y�8!���;�q\t���h�P#��H˥q��PV��{1�U�8C�v3�?��D6�b�d�E]�[���'�u;e�GQ�����B懓Mѩ�I��:
c�6���h3�LH<��I�d���	4�(���$��x!-�4����MQ���6-ػ�p��n1�����Fێ�7<.�U�F�$db<��0�1��5��0%T�Q|W|�eJ�pMal
�(
�T��1�tJ�����Z���R��f˔��&.)������~8?�'4���N�yD�B�b�H�����7��?�b�H����N�?�C�)�bH�Q,h��p)��V��T"א�-�uB�H�`؍�a{�	!(�#�q�(7<�Eol	c�BA�9�Lj[r�(D�%9JY���ejET��|����"^]����f����on��D�o�����ɲ
{*�țUӖ�D+e�Ti�Xޣ���:Z�/h�#�p`DD�
���W�EFL#�
h�*�(��,v�iKW��cݛ}�\��cq�"�;5d�(��uʠ��5(dQش�A�����n��U�f�/�Ӈ���6�?b�+�z��$��J����ڣ��T(X�eTbt_�����l�4�ՠ�U9A~
8trh�a����7Đ�_D#���!>zY.P,��Bm�i��"�3���ؕ�H=>Z�*b޷��N9�T�5x�K����R,*̵����1ͧ�U�Y��+B�-��G�f������4��7��0���d�))��0ew���=��]\�{�R���)$7����4��H1����x>�($0r�a�O���
���F�������:S��]�Z��m�t6m^�R�
Ph�j�*�߆a>E�2�'9�dv��~�{�W��&%[���G}�VNT:�"Po��;㩇ث��@a��E^����>����]��
T�h$e�&6;���-t �}�~~&zD�)[t#u
Q����u%.)4��F�P�}i�pIM���%s�I���?ٷ�ҩ,P���ߠ
#77(_)0�4��)20��EB!��Ʀ��/c�}��1�W;E���jvmI���Eq��5���(��!:�
���!hkd��������f}Ğt�K�t7k%Z����U���?u�Ԣ_B�y3�	1�&S��v��Fwx���Q6kv�(_����8U�O���B�:)�R]����ř���X!��.�{J_E�f�䦶q�d?K�����4��BU!�/h����N8
���rM�Vܔj�6X$<��m�Dl��oi�I��(��Q�q�}aZW�������Rh����Rq�����i�C57B��Tz�B9U>r-��A]�JS�Moj��G�+RM!�L$��/���;����t�d��h��y��Zi"�=�&��B���&U{�S��@9�Q��1���vx��g��?�/�n:h�}:�j���gʐ��P�Dq
����7�k�Rw�
�&�f:�������V:լ�2�RJA!�U�7�E4��?rh�!������N�
M��r���~�w��¨z�Tq�Bg���&���b�Hkj42�^B=����L��sȘ�fM��G�o]���Nz������E�i�ѵ/�ar�6����}x���Z�ӃN�}�G�P�
u��m��:���Z�$���3$��7
�W�6C%�<�Oy�t7����G��]������=7:տ��A����TV[�G��?�s��Ÿ����/��{��f�5�,����w��w��?�G�����C+޿T����N�9c�?�!��=���ʋ
�����(���q}yt�8�痟�܁_�In�O�K~���?��Ο�6�T���XN�C��|IEND�B`�images/admin/rstickets-pro-box.png000064400000076101151165074550013224
0ustar00�PNG


IHDR����j�	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB
aAHXLXN�H�
$4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�FqlIDATx��Oh\U����NjD�E�-�B���XQ$��(�V�Z��"�ܸ��B,
ڝ
�t���1X��BP,5b�-M�&�Lg��7��=�x��I�`�Hr���w��~��}��77�m
�o8<��*�6���x��^;��䟶�����?�9�O}�O�
��ml�N-�:���2�h�re�����b�pؿ��r!�U�"����mu��V)]�������"�,Z��
K�9�t�bcC�
Mt'�01��rs�(�ЌZ�3JyÜA�X*澣;�k�20W^@CC�"&|���B�z�Fc��7��CU!�A&ue�
}j'�%<�&��"^y�󇈦�)�A@��u%@���h��&O/"��UAըM7k�䞏�;����$�'���?�K�\Ex��oL���~o$�DH�+�rQ�{Ame_]#WMN5SCU�O5Q1$�#]
���{Ԓ4���������T�oϽ�]
ԓۚEb�NJz��|��M��|v�v~�-q�+����J@��
��u�4<"ʖ�����vQT���eT&j�]����瘜?���<�����Bv{KIE�5AÐ��4Z�w�)���n��u���G��摆
M!�+ķm(���HC�=��6�,��Q���U�͟(��+��*�H������Ԍ����!_�q<7R<����nr����Ѕ��ϵ禆/�ϼW����O6ݺ\�Wj�ʉŵ���#���l��JW��?J2眥����si����ι�Kι�SH��ιюu֮����"P�tp)�4�E:o0�0�Lsk9���]f�����>J�����|Ǣ�k=�ˀ�tģt`OR;�’�jf���L7���H>�V�l�����Y#�f����ͬifn��dS�_����ϋMa��sι3C�$M�6��44D�,���a�o����,�b�)���
��4�L2��s���}��x�����h,N�}���{��y��s�9[��w�N�j]G�����z��.ݗݮ{�[���f�x�[��L�8|(u��>!_�/�>!��"u�B{�]��ep-W���R����E�.��Q����mW�>�?�:ڡ`_��E�x@3
�*�*r���m�?D�?�@>
���b�'+(��@!�4�I�z�ҳ[X%��_��`0�z��H���~��m�g�!k�,�t3��}X��f�7�촳��Zd�=��U�:n���)�6؅��f3�Zφ�_���
�J)�]
V�j����)���=�H�v�t�u�l��-�l�0�m`�����a	���7�-�?�ۚyl�`��e��,���!Q�p6<n"G�0�_���Vq�[�����­�[�ھ�T
L�XR�����ViE=��~C
�@��f�~j�/X4�Sc�:���je�g��9S��.x�R��-��C��Q60���%t��/
�k��*����U����Kj����0�l�/�lx�1u1��wH�[����4zr�^�x�(��7=�_7~f�{�4�"B��t�y�䙛��w�ϝ�=�{D�?�t��:��}ϵ���3���㉈vђY��㽘��/�k1�3�h�4�~��k��c�w%�	@w��^�K8��������S��ȷ����si0a�w	�S��΄ő�_U��Yl�u��h�{�_���Z[lTU]{�Δ�
�`���
�@�@-��"�<�B��T0T���#A���!
&&����Z�	��1�W��N;-�Gg�s������F��h�LN���3��޷����d[����7454~��|���?.i�/���.旫��Қ��2.=��K�/�5�����yE�B.���˪�����#sxQ����S?=�'����W�����#���g���X�N�G;2?�ca����t"��K���쎠�R�‘�]�w]��b��۞�/���R�mG[�ݩ��_�`��6�||�(�@9��^���#��w��pSE���r(�k���q�+
�Z�!t�;5(?�-��)��"�QP���4������^w��7��F��H�s�oH��
�J��B(ya�j��q�@Ⓣ۱w�Q�y?���EU8PT�gr�5���a(�-[�{��I_�-��:x����h�
i+�WW�XhzmD
6a(�]�Š)���AL���5}y?*jw���0$8L[OXi�����//c�g�;0�z�KH���X�O;H(N�J)�>�S�Riz�|nW���'�ǕG;�@<��	P:	��͉I��sc��U�<c��no
i.WJ	�G�9�L���"�8�؃x
vֱs��
ޛ=�g��, ! XhѴ���T
���ph��u�_:��E�*��)e�ڵ�)9%�=�	�P�!Ys����-캃�Yl����P�1�)������fz��C��*�
s�b$H4$!mMC7���f�W��
��)	aK�;�W�up�LEk��/�����M;��˳O(�7��N"���,y*�Dc
��YyH%hĘa��N��$H[w�l���or��w-�'�<�uEo�x~N'�n3���#X��^�p
=vB��ۚ�7�8akۦ�����>
F2X2�W,��m��wk>��r���V���J2TR���X��U2T�GG��#sH�$lc
�{���T�I��#%!m	�_��$F�rQ��TR�S	6�Dpk�q��ޓ�]�Q�ӱ&������1Gʰa�DLB7%D\��$�<V�*�
�_R%$d;�I�0�w����V����|�+�]���ST[ȵ�""`GtRdTBFDTBD�c=��B�U���-m�����G�k����m�n)�KfKݫg���՗���5g�~�Yj(;G�e�(�Z3�6S���Լ��&#��/��dr�_x����~����&�45�6W잷2���.�o3�!�=��c"����f�{��1&���l"�$�܌���1���̭0~_��~����њ��fs�X�mLX�7�
	`�o��w����3��.6�Y�Zc|@؜񱾓��~:5i�ݬ�f��{<��=2����9H�gL�0r��3	`�p�zМ=}��If��R�i1�SMl�y�4�Ns�=j�^4I%��>Sܦjf���-+]�x�>�˜t������f�g�@?�+1��~8㬦���~��#�x��w�ι�O1�o�
�����
��*�	%�q��u(��t(��Z�NG-`��(����:jg����T�/:����h)t��u��/U�K��0�hR$����}����9��Ͳ	u��A7�;���7��<�9����=���{
�^���k�5�u�smV�6|f�rV�ܻ�j�,�O�_&��KV�,��-�e���ɽ{?*w��e{ng���d�">j�����sm���
�FTL=��i�:U*^��:�S��6QF`f�.hS�b
/���)�3�SI�^�})�4��)��>��4�d�D?�x��_�9��
%�<P�����I'�I��39�3�
f��ꕝ��P�P1H����}A�����|%�81��)�g��N'P1l֔ga����R9Ol{L�mUh����w��i2�X��B�4��L���C�b�����"�<��+
�9�{���8�>}��j��J6�t��Wr���I%�<U���l	!*�Bp�(g
J;�F
�����I�s����
����Mz��s65����:����s��%%��C�V�ӽ���Q�y�es��f8�e�#C�l�T�J��eJ�#]��vjU��|��"Z#�zц�	���<�9�e�½����[�Z�?ľO�ϋ����)!J�A������g��v�OB)І�ބ���vZ�ee�;l���e�<n�:��~�k�3��H�;�R�`��|�.�-aᚕ�3!x-®�{�����&�z�D`���y�+��CG�t�B��W���0�F��
36W/Ե%t'����X�I	z�[W[���DG��1�lG6��
2V�z�~�z��* �D2#��g��/�
mJЈ��]�����!ӑ�x�d4�`��(v�#wp"�����n��h�B����ˍ�	Lѐiϕ��

�	L�N�#d��@V:�.M$��`���l>|-�O�
���`ƅ9�s�.~	�Mw>>P^=�s�
��1̑�u<��;X�"h�iR���&r<~�7\��+C�m%x�*�������w7\;�vXhq��:�}ȶ�%c�U��t��7�8/��z��񈑆�6�h����(d��	��W�Ln�w�%���".ڸ	�H=��p6�M��l{�%
d�s9Y#ڎ���h��?���ڸ|o��4��8��tA�y���+]s�9�='aZ�M��
�XmX�#�kb����v|���;h|[�$��Vk&�$S5p�/�֫�u߈;y	Cԛ��5y����v�}�����`m���p|�s��XF�.�/r唷O	s����4���1���5i�t=Z��g2{�Lf������!���VGHQ�oO�R݉��߿9�.��|)��_�%�cc��4�n��A؊)���A[X߀]oZbg���~���h̘����-���5��z��|x�2�o�r��zW��ƾ�O�e��x�"�P���4.��R(�Z�`�~j�|�7U��j��nA��8h)��QS���[z��M�؀��A@��j%VS�
�Pv*o�4$����(�5E�
%��-��E����4/�}&q��	3�.��l���b�=��8�=q�~��)��Q��({/PtJE8�91��O�k����Bx�v�Η��w)ə�-ޱ0y��
���(��QYO����̆x���ilF�e�А�k���-VLZt�~���&yW��3��nP���>�>�|vS�VƱne\��������GN��kO5���ln]��<p(�����'9���4�=z���;�u�ҿo�Q�W*�9��"B���Ji�W��ufs|g׏;�u��Ӵ̉��	�S���?�������#��'��"�OTJ=^&��_���F)uODnq�R�)��)�J�G���K��Uv3"%b�H<6��o
d��F�r?��e��*
X�-�R�籲�p����%�$rS��+<|h�w�Y܈�XZ�޵
be���J�QY�y�Q��[O�Fڿԏ�O�?x��X��O��$�q�a�J�-ե�zd�r�|[���cd9��+���_���8��n;X�ֿ��c�=�f�
�i
X^�v8
�0�>Wck�z^�30�*k�:���:�C��X!��s�-n�R�5h��w`��ܑH�\`ph�"C3
���j�n�@��q]�j�C�!������2�`��f2�3[�����e�\�@?��l-�R,��(J���$��"�@�s���9�"w�?�da+(��/�"l�|���9�~Nd��aTY[D��B�"_�ϯ+��d�m����q��|�
�^���k�5�����{�U�}ǿ�s��GC�2V$+(����R�
jd%P��Ě`�b�M��+5&mҺ�(u��jbLb�iV��44(�Z��a��13�̝�w��u��������{�38�(�=k�{������Ϲ�|���?B�8��%=.��q�E�K,z\b����q'�H��7�t�VKb�����'�K]�5
��iXv�ꆏn]�����f>ް�W6,�Y�s�oW�\�;~��c;��;>��;����`َX��,��Bo�
���^��$Ks1�I��.�G���
O9�{���������?�OWS���d�|��R�.Fˑ���y0�{3�}6�{G��W4k֤�����(A��J̐���㣨��CW���!�2t��v����=�^��dГ�
�݇��4T>��>:�>��:@�
0|\�'=�����/	U�t��=���+Ӎ�L7z�@�KRȢB€y(!L�*D�$�%U@of�T?2]}�M�#�яޮ����k�觷\B�|�M���	H�ct��Й6ȩ�l(%a�0��йL�OFNfHP�㡄��̫4b�:�i�R_��G:�͕��_$�!ʃ!D%���ntfR��.a�S(���y"t�b�
���Id?&���|D���)��vEI�m}��9ȃ�C�K�~�冈��h�N���Ê�&��\Dg����ȧ��e�[V��@�<mh�Wh�'3m<��0d0y�X:�Q���$�2܂@!;Xd��8�O�g�Lؓl_��z�zC.|Z���Pl�E�2�i��}@�%�c��Y�4��T�[����Axl�`F	�:y~�w�9Ţ�g�4�L��P��t7z{K��@�l�#4;h9M�]k9�$|"�%��K��
��
�FW)�Ќ	����1e^]��M|3�t�ȥ�M�	`��EG���!�	%�#�#X"�IA��Y�/
�Z�?͸/����y
��_c��B�ڕu7a�hA_��tb"��!41�]���`���=�?�[7���όk��k��<�@��=�i�
����i鋝X$1[���G�^�l�^�ۮߍ�S/�Mϭ��'��˟x.{�}x`�=X7�3ص�5���l��Yd��#(����?6	r���\']�W�ų��{�oz7'�	{���;�FQ�!J�Q@ˑ����/\��-}	E]�}�~�~,~z��C5b��T㓘�oƯy�O?�?�9�����G1t�s!bQ23���g	�u884
"�����ӓ�K��=z5[z)���A:��㐶�����NgfY��W���W��ç��v��ꦵ�|�b��ӈ?�~9V�C�yd��B�-�5P�l��	�;0�`��ӏ�<R3�t���a?9���)"G���M?�#�#��m��|�q����a�Ɋ-�Չ	X~��EF�9�lK�tȲ�@U�a�چ!iʂ���ށ+��
��.e[���%���b���:����#�-�����_|a�]�d���lŷ����ʸ�$�?��|��0�a��K6���ˤ(Bt�X�%ڇ�F^���ƩŶ���5ɚ�h���$oXu,�Վ�	�U@x�J5�_���C��0����%#�Ji�\�Bo�EU˝+Ʈ5{g�^�>9��%
�]5���N��С<r�E|D_X�m�an���@.��\.���'�������Kؾx>?����bs����ƒ�r��܀}�7�6Yfۅ�
�+w(�ls�ȇK��o���&:+s��5�
(���Z��������|�b�O)6���cK=ܲ{������~Ӯ٦r��?c�}������y�kx�E�v�Y�R��N}n�����G��D�϶Q>\4�b[~�0,�?`䛍�:����{�o+�CQW�9�M�'����8$$k[k�fZ�P��2�2�
��q�M:�0:��w�|���Vl��`n5�
�\@��]�(���um�o7g(�@i��		h$��S%�k��F�Z!m�k�+�}w���r��Rlb��+�f��7��/�Fv$�i�a�0S�E������.��܉�f��a��J��U*�n�vMP���[�Z�����]��_���s0w�{�̘��E����|-�h�Hn���3����Y���f��k�
�p"�/�?�i�R�Ɂ�b
�	T��i�!WB�X"XTzxW�I��g��}T_P�7*�u�N��aC�Ӓſ�z�]ڸЉEp���M�6�����߲��g���F��	7Xh�,�X	��Ji��p/�"��}TϬ��^$�����7���M�M3p�ƈ�~��c��#�D�Ѧa ��X��-������_��[���D򬤉�".��}�,`+K_6���D�?�G��$�)^����*��K����V�|k���d&@y�ށ7i�1�E�߱��j����I����ʈ]�Aׁ�.2�%��i��JC3�t�+&�HL�#���H��!]�ݶ\N*.1�/'#���8rV��=Cs�J]�T8����]�8��/��JФsjB�*h��2�"v����P���ؘ؆PT�
�$B���)�Q2hT�[B���BAĶ�,��"��>"���_�mL��8؈��}��T=x�����3�N�!�H`Ut�
��y�tl�al�Pb�X��`џ�jF�$��D�}	$e+��%�{E�ٱ�%���2�zwۆT}�#ݫD����L�5�PM�ChJZmUu�8RCj��;�K�7e��!J^Ab}Q�69eYA�WG����7��2C��A$�.��E�GL�3��
7�mHշ?�}��݅3��)�{/q�hj���I_��ڃ���TN�(q��yU
��FP��E,��oJ�4v|T�:BR�7bJ�uh�ac05�U_m��U߶15=�T��c����G:1s�-M�omS"��̥:��U^�s��u�r8�:��2�h���P9�%$��Au0�J�[*��m}��^����힯����e�>��N��{�[[&5�k�ƿ>L�?�2��ܑ­AV�A�iNCPb�s�]��ޒ=�����;�?�Y�`��
����^""���/�$E�����}������(��(\��?F���C�'�?^մ�xu��U͟i���h#[�|�������~&]_�Y�+Y�T�
7��W�5������0�?������\�W�v�:�H�K,z\b������ѓe�^"z�����h���&:����a��N�S���D�}g޻��i��P\��#"�Y.AD�^��w��z"�0�>o$�C������.S�0&P7ʈ�\
�L��,��h��
��ʺ��̫���$﯄q����c{\����ǭw;��&�/k�v��9�G��`\��u��
��K;�:�
k�y���_֙���]��d�,7U���"��_�Y��q5���X�
�q��>CPZ
�Z�d��l�l����70ne��q�������֙�m��3��,���6D�S����_�dY�59�oO����B�_>�;O~�R2�#�9�*���̲��s���^R��?�r+ʖ���3=(�/��/���7�N��"��јu+�E"�eC��|��e���7��-�`A���!9�n�N�_��%�W�#�Qc�d�gCr\���BQε.�R�6��4>��	i�n��5¾���[�=���bw��f�~7����q!�se��R�h��IQ��R���+r��:����;Fy�,���ƣ0����7���x3^�lcj���-��҉�K�٬f��a�3�
':U�m�L7K*��|�}�m9���C"��W��:`f�:�Mg}vҠ[�+���~�U����>+��4�W$8*����N�lC�c�x�s����=?Yg�u'�7������s+P+�^U)�$e�)ӄ��c�X���f0V�Q�2r��J�1ٙX�{\��|��~\ұ�k$z�k%�=��r�l��w`�S�ټ@���Y�M��b�g9׋�n�,5e����4�E0極��;i
'�(�R�o�B�~f�.��ێz�m���b�}�a旬Ud�[�Y���q����jqW���k��wJ({�����z�j�r巊�́
�03g�y3ﭴ���L|G..��q�E�K,z\b����3��?{W&Eq�ճ��*(�,�(�D��	o�x#"J�h�/扟����	��1���A�E�)*�ZI�E�Y؝cw��ݝ���ު���Y�#����S;�55�3�{类JvUNvUN(Q�	%�'���PzB	�	%�'���PzB	�	%�'���PzB	�	%�'���PzzB	軟>�z�N��V��U�g��g�3/��_��O�8���W�]�i������+�=>��k.��(wY�tY����o���e3WM�{ƪ����jj�%+��Sp��ɘ��lL[q.Z~.Z~.X~:�_~�[~�[v*��u�.=S����K'��gO�Yϟ����p�K"黇��v/l����p9&@�`Ox��`�C�4%p=~C�"ҋ�c�ቤ�]
MD�?{)o���@*% Rz�k����>G
H�<{.<��<@`�3��W��	�W�\A���0�DJ@�r�)���'��<���<���c����r��5]�"����wh"��G4�(�y0!�Y�=(
�Ndr�HgsH�r��Z�˶
�mF&ӌl��L�t��47�њkG���iM�a�
j�$_��� �{,��'�t�RE��t.�t.�lK
�.�#�@hiv5@
@���:ڻ�ܘG��-��Y��N@��҅RB�P!�*ܳj\�znmkGc.���6��Gw��G���J����ƃ}�R�G>ݎ��VE�^o̓���OK�H��[<y@��M�9����Q
��8�z�
���@�J�mib&�l�B˶6t�u��W�:%}�Q�M{�l��4��[ј�@�r�
�h/�#
���S��ҷ
��3ү��](���~Q�Bx1��nt��9����t��&�4Rl�Q�l�恀TX͛�p��A��s��})��L��·UQ=����CP���Y@���tK�����p�p�y�D�\Ӻ�$��8.r�?a����T�[j��7и:���_�$��D�jDpd�-����5�*�ovo���V喇�3>�
��^q�1J�m4����kt�
W#XO.��^г$h�x�%IRw2K�v�4p��4�`&0�F�`MP2[e��#`������X{Oքhf)��n��^!,�xH�r�75gYR)���*�\
�t�ހ$���u{��L/�_���"�O@�#�^u�#=.�bò	�Ǥ���0�J���\V��,���^*#��Z�]I7o
^�x�"����N@����/c%���l��A
n�p��B�NU.���m�`'��-:����fP��s��������$b�V��k���J���8h�E�0�n��߀��e-�Ǭ#�v�5��k����2�	���c�mRh�*8N[�4��]���bw��Άn�P�/�����.�t��)�5��ΰ��`��U<�i
A!Me���Dz@�RP�P�39��q���{8��R��֍Ӫ���Ɗ�/c�b٬�n�Z]f��³c`f����\g���ݏH<�I0<c"ئ��MC�:�tE�-�O��]�Nm$��.U���N�t�Dzi��7'~���k�?]��^��EȂIxp��7���H�	�C7�=����Z	@�BW�[wE²�
�x���{���'g?do�`��8e���p&.�������.8���ϭPsV�}�ű�[eH��$>p�(�����{3�7H́�O�_{�K�m��p��Ūt�q��^.K
�O�>2Bz��y	&-:	���ǟ1��k�r��K1��	(J����i�E�d�+H<9N
���Q�B@�/B�	�5#��ڑS���s�ѡvG
�վ$ia���U�ʀ��N8l�_��+nb��p��+��
6�����b�Y�R�Ļ{�Z60�ѕpN��B`И��0��$��
�!���x��Mqx%�K�>�|����_}K7?�+�-�D��W碤�rK��C)S
I|H‰�9�>�A6�g�=�0��8t{֑��k�l�ݥb�1�
�6��J8�ND��x={I����Wp����G�jCk������<�I��p�8�p����Î��q������z�jԤA9�j/��T��s�0�g�Qp�W>6��~q�
"��T�'�c�<&�`AK��]�>0�j��;EA��|[[�T��%��p
N��wvps�/���9���[)]�����p�8��7�7��Ab�wگ%}9��f��+�6�-���R���Ot���8�Ա-̦ܶ�����a>
y/p���8��9r8��V$C6�\�-�ɥw�k�/�2��ls->.�}-�De!�nR��zؖ³u���~�M����)2Z�J|��ɐ*�-���8�R���U:�H�9vF���#�����.tu9c\d�~�ӆʣe!�vழ�Wc㛴��n%����3���o�>&40B*w��6=p"���G��G�{p�}JM%ȼ²H��b'j��>{yV͞��*��I/W�Pl(��N���w�1�����^���o��ǭ���9/����8�+�y���:�Ȅm�N;&�c�����/��"!��N1�v��W��_|3p�x~S	�E��q��fCI*a/�c��꽃H;q��vp�V�7ea��)b�wp�����^��g1H|p*�׫.Ն��v��\h}�iS�jw��="\=�ژKG���1tDE��ħ}Hǫ��`Vǚη���F�ZWP
������"@`�qs���Y	�
0�������RZB���~*��W���;����;rx���;�\J�Bn��ګ��Hʓ&;��+��?�G�
?�عi
ecI�+��z�ӊ�JW$-�V�U��Na���.v��]��JWo�ʗ�t7L$���I��|B���앐���M�l8��GT�;4�n��1��)�����w���pr���$d�(B�L��1#�myT��
߮�ㄩ��3|�o�a��<�01�!�N�=�'��IJ٪���o���!����y��?`����נSB�X5ȉ�ÀSo���
���7*�p���lwR�~ڇ�&A�����[������ؾ�0Ъ\�G=�)�OE��b���wFb���=%n*����y$k
���$
k��	;��IA�Jȼ��t}��j(�t�d`�
�7�;N����󗟉�=/�?[.�;x�������*ܴW*��
�2͜1ni��s�t�g�ՓD
5�@ʑl���((!�i3n��&[q�7��e_ņ�zLx`\/��M	�ؐ#�f�B���Q
��^�cRT�3��_����N:�`�RI�r�.U��v7^w�h�U�s�zx�
��L���P�0�p��#��BT|��
��d�Lޝ���BUM
$U0.�J�J;@J�ǰUx^���z�j_w�;x�.7n��7n
�&U�Ɖ�v��;c�ŭ��=�~�G�(�c���*���IiZŒC,�pm�+�0��NN쵄W�ƶm��	��z=I��"d�,�F���l�.ym1ӈH)..�FU*'�H|4�m=jk��7=N���c0~�h7o4���q?�Ÿ�b�]�h�j��ʜ6��=4�^�-���gF�(\�Q���I�!�b�M�.Y•��G.��c�@x�{=n�j9ɠx/=xh�h)�$l
���S�:�!�ۋH��zP��W����|V���J:*��A"&�c屪�z8E2mnj�.�V�:qL3lӣ��F�����f"*���-9����x�ZD�-��6޴5�LaO;�;�[9m�t�2�.m�ա~�g�`��Q�ץ_+
���C����3���|e�I_���j��C�Y��(�x�opW��6�`�e�=��`�ϒ�s�}}�us(�
��T֛W�X��
@Ie�-He%�8�J��V���ci��j	���	7*=
���
�3'2?����]D������i'��}e�cOYIg,ހ����P=�J
�Ѭ�Gn��.]o�m��4>���߳
}��&�d��Z����;��B��n�K<�s�^As�^�v�����	���jXQW��!�e��/]��-i/ەЀ>L���[���
�U�7��n�?"_Y�V>;pRY&��X�3�F�K�(��TR/�[3�&��p�i����f��K�N�
/���֗%���l����7��MU^j.ٰMK�bɷ���r]f
�ֹs�>��W�Vk�1k%��0&B"ȴ��a��u,��:����SΪ��u�����ƱST����%��k
�j��9���T(�&'�j3q��y���J���=�h�/�A���|vCJ��5��pH���|�������o���
l��k9'\�z�&��0?s݀}���z��Yռ4Tac���C'�Tj�	���3�J��(@K=g�A��
9s`a�!	��Ƈ�G7>��@�`�2�=��wl����{k��P����%tGR
��0����7c$��k�T�J��h�x�A�ص�xQü�8��%��v샴��&��
�v���d���q����~�/
�0ZCY����<Nn@��M�i
�2#��ο̃'[�Ӿ��d~��_���j_[8�|zWI��Y��JK���Y����a�d�I�jdJ��nZ�HntÏ3������n�k�'�	tC������ׯ��_�4"�t��6�������~�I�#���6�i���7l��G�
�f��geK�~�������3-k޺�ݫ7\[؆k��pM��
�n��������u_����Z�
�խ��Җ�o_�0���Fn�q�ͷ7�@�An���F��h���ݯ�#�
m+���쒆{��z���濫���kJ���GA������a�7�a˂��cP;W��JDT�W7\s�K"�	%�'���PzB	�	%�'���PzB!ЅO	!rY$�xTq�b�1�+B�6!	!6
!&;���X�CYT�K���N�m�>x\q����g�G�-B�.�8���.�xB!�����6q�~)��\.p%�G��nω0����,�����5f�Pfq��O�a��`��L�is)�+Jg�	�*>?��/�)�!�+�o�4��Y����*���Nݙ�>��w�S�tڍ����6x#����}j0}�'�C���WX�If!������
���	�:��"�"��E~�u�<�X+�
�F����[���S|=�n�<��g��4>*���p��M1�7^bP�o��LՓ	5⶙���~8�ővf���@��5��}�����68+Oǁ�C���o�+��bu|��2H�6�gNv����.w$]E^`-����}>	�v>����2��ɺ��Q��w:�N?p�i�S���^��=���d��un�$z���R��|��\�P�]�Oq~��>�~]�x�{\g�9��=�]�Ӏq$����L�v����M?�7�S�8��G�3طX~��3�_bU�#��-�Q7;�V~��n������<X��=��]րW�w�Fwb|�_�N=9��9>#�>�,-\tw��IN��N���fl0q79�?���!~���0�16��^<@��{;M��B�?���C�~��B�_k���_���2�3�z�-_��^��&d{�;F:@�+�sw87?����
��}G�O�����Q�(�Q�m���;���
WAO�(�k���H���>Gr|�s#���9�ހnv57�q�L�~�m����`W�K3�t�N|v�w{h���kN�Q�����M��;c4�
}\�)0��Vp�㗌e�
��xo��ހ~�dA�8��b�<�t��#��S1ΊKc*ԏeg�g���
�^c���(�'S��F��������{�Wx8��p*�AG�P�1�ݛ�FrCï9����Io@7v�éw9�?�\�6�Q1>��ЍN����{gB?�F��8-&>��s�`gmzO�bS��Kz��WA�w��\�l�s|���%N��ߑ<B
�5N�ަa�8ᚱ;�q1ޛ�t��[v�S��-��g����'{�q���X�Ǽ;�[#��d��Ɲ~w�a�;���{��&�3k�
�h����,��o�s��'��썛X1���C{�:1�#=|��c�D^M�|�ñf�ɼ���tзف����>��D�DidD��R�a>���2�{�����8�EO44��⤋�bG�q;_�M���G\�$}�@���1q��H�t!�ײ��|g�a�����n�����=���G��1�np��i@�82�y��K�>.�3��>�Rɂ�̟��Sw*�M��_�vѸ�^���#ک��g3�Y�Y��m:����M��:��=�~3-!�M<˴���J��L��׸�"ZJDoV�G'_�3�[�y��#�D��h=GD
1�k�c>o�ۙ-k���B_vV������W67Z퇔����PzB	�	%�'���PzB	�	%�'���PzB	�	%�'���PzBۥ�g���䨪�w�g�2I!	L
 ��
[ؔ��@�.�P��,""��(�	">���M�EY��$�@dM�:Yf�����z���qϭ�U]=ӓ4���%ӵ޺u��|�T��Y�V�6�l�t���V�X7Ί+�V�X�@�bŊ�+V,ЭX�b�nŊt+V�X�[�b�nŊt+V�X�[�b�݊+�V�X�@�bŊ�+V,ЭX�@�bŊ���|��>�v�ߦ�m�y�߾��)%��Sq�8g��3�s�O�z�)3ϙ?�s��q����lg�?�og�?���~;}�d:}�d:M�7���o|����e:�h��;6ʼcߝ:���;�S��۔yG�)�”yG��yG��y�p�\�N�s�ߎ�s8��s&�9����s�qs�q���^?_~�|���U�}�1�Q���I��#^����&��?��6x�@��YJ-�<@D�HBr���8Γppt(�	�@	�I�[���p�	@���u��J���������9��v@.�YP_�co����"�����@�?C�$0B$�D�A"��Hp$p���H���N8"�6�#G@����
A��#���oB�}��vB$8�~+!۹�`9��n���@ߜ�}:�E�$I�����I�a@9���G@8[lb�:Np\����8	>A�������ۇlw72�.td�H�;�Nv"��
��@2فT*�L2�L���.tw��;ۋ��zsy�.H
��I+A;4��,��������[�o�2�CPn����@�]�
�`�*<�$�k�0�����5w�B�����2�hK��Lu�-�F[:��T���]����Ao>�|���W�'%$$�!��
$!���
I��(���y����ՋLG��H�w��=�L[�,:ڳ��!_pP�������
C���@�d�+�F�8��������";zy��qG@�Dw_R���4�R)��S��d�[�ABr����v�K���2�wB��)A�z�\|r(���s$�|��>t&��i�BG�R���E$
�H�	�
i�/��b���$	?#@��&k`	����Ю��ǿ�cp�H����d�hK��ڑB�3�\>I��p}7������B���C��!
�,	�U¸�`�v���.z:z�iɢ�%�lk7r�yH��%0���qvY���������
!En��=!p���P�#P�E�;;КJ�=�Fwo\r}���	�x��c�q`@�c�2�DX)�#���,AA��aCp
Z�Q�އ,��"�@�����nt6w)��D-
��a�������@�IЎ·�$�V3�mN|!r��3i�t������B6��j@h���#G�X�����Zx?���C�y
�x�8�:�
u�5@Q��$r�<:�����U���=,�����X��2�K��
�Np��<�S4��P,
��@kG��.H�J9hV]P`�����A�Dog�^��A�e"�.�����$���s�X!(�����(�@�D<M:F���"�k�����\�
e^����Ӓ#��1J���
a�ڎb�3]Y�u����ƒ�`���~%��AFP�t��;�c�8n���7�:�”@�/����澩0%2��F�
�H�F�g�x?�-�����lS��u�gv7���.������b�Qo�s�@�b�V��o$hH9�;"7�"��4���b����/���|kM�*0T�118��q��qT������P�`���|9@���30�.�!\#D�'0ȅ���4<�A�”�\W�2���`�����[	�F�vR����hϤ�ѕ��,6yp�n�5��F�m�lly�`ew\�BB%�-5�=_���_�G��]�#�R0��#���u��S
V�	3c`x��@+9r�@5�ҳUc���NQ��j#�UB
p��If��n�42�]
�:��&�!��"���U�z�3�̚5W6:D,�/���ck�*C�:�����ke����?���'��H`�u��ل���c�hv�CD��s��o��5�[�����#P3��$�qd�d�'=$;;�ѕ�k+��
j~�#M��c�M1q{E.�(��:߬�A�.���A��r�
Ţ�����	G��Ǟ�|?|G��W������Y[�W*p_`�2
����B�3I���_�kF�d�Q:UQ�"��r���`6ׁ(���F�/r�E(0}&�|�+�^D���N����
�M.���֙���vj���Q��@��8B����
~�����)�ݼO�	?�\�F�탓�����:p����b��B��B��\[}My�ɡou���)�\[�d�Nn�Y�@2`�CJ�R0d�}��_�az�;��a�D����	Ꮓ0�u̱�m����h]y�8��$��r��6���,2���4cx0ɦ�a<D��x��?Y
:��kͣ�)��d�;�|�rܶ�o��1��o_}󦽋y�b�w�‰��{��u#N3�r�
�����9�(t!���
���3�O��B֝��Xxҡ	��C��~"��9��u��7��ָI|_�X��k�$ߗ$wH6�4bC5a���ޑB���]T��N�E�������+x($ȯ-�+CO��_z����=����ٸ�K�Ĵ��~�����Q��,����o�'&�p"�>�z<~�x�����a�Է����t=�V�Ph/�+ȈG���t������7cy#f�
���W�1�d!��
�~�a�L���CT[Xof@�$��,�
LJ7�U'#�V`F]�hj�M+r�p*�b��|sgm�_�5�-̞�W�{-��M�&���ʪq�w�?���\�+_��λw�s�^��t,�o��D-��z&^��7�u����{0,U��5y��^y�q�u�'��3\~��@����aPd�B�zF\�~؈���u�G�a-�e�g���P���\!�tg'{a����lz�cǮaF}�w�<8�U�k�0{�|}�o����.t�woÑ�=�7z�8�q�����-^X�,^]�
殙��V��?|�{��p�s�p�{��<�'�3�"|�^���>/��^�6{8{�oun�-o����R�>�R�������P�3�����,Վ>n�SN�k����u?��|7�'�����{s}����6�	���i����KI(��n��/'��]G��P���[q���'�#�D���j�(���Mo��X3g={*��|��h�m��W_S��M~9�o����啷��!�|�����w�����|n��Z/
b��~>ᗰ�ی�Ԅ�у:�&%����t��>�
�a���>tˑl�?�F.a˾1x��y�4��gr��p�c����G�nH��%?���&a����~��c��s0��g��,"������5��������}���O�F]|��t�8gL�f�c��߼\��K�z��E.7TI��y�tu�$FuZ87-���EWi2�]�x��gP�����q�c��ŕϯ�i`���4޿���=6	��������U���\c�—S�s�z��נ&
��t|nT�!2����r\�E�v57
��]�M��S����3�H7�M��4BGg6T���q��$��k�NSe��Jn�;�'��W<��^�:<�;�Q�%�0�������E�>���8���
�E�sp;�Xn���h����A'|�H-3��P	�Z�A`�77�m����_��7�^Pɞ����G^�'6-�0c�
��[z�1bL%�@����{��6{�}!n~�O���2�Y5����Ѐ~{�˱���_��$[�N�ĂG]t�χ����E��"��:�I"P�ڲW�r�U�<�}���3I5)����	��
y��,o�E ���`E�迒-�Tu��s#v
���n�Ln����X�Y��7��8<�D�E��+��^�*)M��1"�|��X�����Q�k��'@�wBL�pŸ�,�7���[<p%vB��;\nj��J1�eXp�NL-���
�{I�b,�,[w��
p��
�sK����m�r>���ïT�B��ڇ�i��1�zӭ�oZz2c{�v�ꓠ��5蛮L
�`�LG�\>���8QB�(��-�(�S����u�ӫ�V������Ӕ]��V�Ɩ<��C����{'Q$)�^�다��\s+��̇b����juoBV��@���/\�Qb�cX�H���I+y�LD��(���#Y���SI��qbr��f�^��0�K����H�a"�MU
>!v�א͞}��-���v0]�P,�bp�#�-�:��{\����Խ
��c��-���~���=�poH��7(P�DyȰ��}蛦E�j��!�ϗ%�ty,Ű�e]�A\JB��C�%Y��v��)/�)���@���?��g�´�N/uу=+�?>&K��"�X���)}��Zp
����|��?�Xe��	��	?"'I
�X�M"\���N�.���{��8e!��͡���کBC�4�O�����吭0aĶ^3��~𭥘�;�ʎ�W��"���"���i�
n���S�F�u����Z�N�Me�θ�빡ɱ���K����x�O~;o�K��7��t�N���wǗ�����w�K�����a�C
��2�}Ү�#���}aFi�e�����@��NMdL���\�+���2�
p=9�z���q�0fȘ
�Ι����p�\�D@�������r����x@��c��Ű�1��t]����)��w�,�7IYD���ʪ�J8������F�Od�9���qߟ�0�eA%�>M�S�4�=�RNf|�
�>�2�S+�!���"���dPz,M��m�c��&,�\���n�zC���`��I�<8��^�h�Z�F�hl�x�6z���C>�Dž���qr�.S�\��B}�(&=�p;%�	��|0�߸-��k���)Փ׃II��BY�r�r0.��)0�!l�����Q�a���<�x����
����[p�"�t������"�N��=2���z�l�3��X6���?��}��
7�8��0s��.���!��+{��>(���z<Bf�7c_��K�K�N�DZȂ�(�������
�˸=��=i��<�
��&��;��	��&I�c�li$���lեi�d�9p��♵OV�Gi�O�ar��9h�n�s��)��2�L�I��o}@��b����"d����V�@/���6��,�7a�K�$d+H�"��
Q�p	H��-�@��JI!�\�I
U���N#"ܶ�����6�
��
pZO�G��(�x�/}n�>|�Ss_Yނ˨����	BJW�+��E����ʥ7�)���k>kNmm���z�#~���$$PU��D�J�q"7p��q.��
��a�xߌ���/S����%y������ϒ<�c����}��
�=�a�S=�Kނ�7�G!n!�&�
�E��{/Oϴ�:�o܍�\6�J��A�r��]SSLrm�	̮�aL+mF҈����>F�G�y��0�p��#��G��ų�Fl�<��(-@��v�L{�d�2s"�y�J?4*!�"��o�51
���p�loP�{f�p��5�B���Ն�^�@ߔ-���2�t	��U��V
)	���VH�UԖD�V_0�K*����OmuҸ퓟���������߮���+A,I/�޿�_�g�O�>s>v���g��e���Y?�?[���T�%�SƸ�+[���Q�.�ԁ���w�����Sw�ʦti�4HN&��T�V)����:e�
@2R���]zi�o#��$�Yd��C�-�F&P7�U�
��,8��p�;��#
C�pH��3�Y'�����p��5�M2���{���x����f\$�9��ZfIХ��T�Z_��UM��ވ�u���E
Bi���㡒$e��
}�B��*�m[��-��[[/���>j�c1뼹x�…x�…��EF���~��Q?�Ӥ�^�!2-��(ӂEbp=v2�ӯb��x<�E����
|��͝iߌXw*i�"Џ��;
0���w۵E7I9�L&�����I)}މF^�WY��
fhD>|Bը�&�"�E�|6�����_b�����oR=4�G�2�z.2�{$4�	G)}�-�)FDJ���{�w����˾���Ϝ7p�΃W�U����煤ǩ6)��T��^&�H�=|�y�zl�,E���k��A�脺c�.+�>�I}��}�a�=���C�ޏi8����C�N$��,���:3^'�Go7ߑ<�/�
e��Y�|p���1����A���.�Z���t���1'y}8��ނ�-|��>�!Å<��F%P�m
��"K���;�ܵ�ι?�u-��u-��Z����\��_�׿t�����q�����A��,zIF#P�Q�-W��Մ\��k�#u_^@������2
�=���R�Rz��r(����1;���GJ��H֌��\��z
�٢x�!�-|(���Wl��
!�x(��`{�2�}0�C�G����ԅF-i!�9�qҫ�������0|�0Ŝ{1grD�����ғ���~��WDa������#ƺ�D���X��8?�KÝ���\�Yt�Jr�͔�rs�m=����W�o�'}��@���f
���m�#��%�P?vA��d�̀��2���KXx�n/0�z险#?��&�O�gݩ��@8
���&M�LaI�+I�EN����\�������ʠ
�C�Eg%�y4����[��\��B�i;݊M��W�\?hK	47"�`F7�k��`�r�}��OK�5��y[��MtN�)�!C�F�F^�L�.�v�—R�>.Ja��_W`ft���͹8�G�#���I3G.CV�+4��5ߙ���-=�Ǜ�|�b�޿,n_��a��KIS�oU���H6M�yz��9R�}��;O��Q����$�g<��D�|O)�hC#5���!�\���iA)����P
��K,�e�u3��h����0�F���f&�K>���(e�q�J��ߋK�gd�����3İ�ʅ���t��&�z7��ғa�_#���U�`��b�p�k��|�y����sb����j�l�:�S0�����E>R��*�1.
%$#ϛ���bpӂ1x�����;�ܝ���I[񼅮z������\�8��S�!��u�
pj��5�3|���V�8
�-��|5)'}�n�ܞ<�:��bi���4,#�����4�ި�.�\Z[�]�*�A���
���X���9+���.aҍ<j�U����z�l�3ur~eA?��[c����hBtŲ��Xֱ4J|_\3�Z�
���P���;�r,��|	�i7��9�ֳ%�����-(\�k*�6-����zb
�%$�~�,��YNP蔡�9H��m�^$M�n�ۈݩH�����|�ɯt����w��d�j��>�@�~�	���(�R��{*f��俉��֘�z���n�OL�>��7d��%����إwF
To��3����t�=#����W��"<mXh��%�4��3p�.yC��dC�sr�
��73�nJ�@�`��5����]]�jqmq|����n�
y$Ƀ��5X�x"�ct^����%�!H��u7���z�u'��Ռ�U#j�K
1J�Kx�p����C%��y`���en[��*�7��ѷo�����{��vr���}cK�W�*6�-��;�/y��%U�W3�{}�1҄5��I�yl5]^�A��`�}�-���-r��Q��P,���pF8%�|��k,�t;��M_�Vj.��[V8����윞�ޭ�;�,�Յ4~|���?8iU��M�
�-�Q�o阤�>����ː���y��f����-C�}AhAa�/WL�tP=!���L��.��G���Y��˧���ۯif�����q�?g?�ػݰޞ�>�"�}rU�u^����o.�O����G�J��Yn��#&��؞����Z��g����'���Cr	�g���	Up��
�F�-%+���{��8�if��ifrB�]�K���4Cբk��[�b��	Z��懒_4c�]���Vl����]
I�jY��]����
�؊�<�^�nP�O.�1�eQ�j~�.�!b��&FT5T��w��d����y���ۓ
�5�hfg4R�&�Ztk�-�7�d:��d��ܺ��ƽ]�r����.���	=��N*v�wz�yD���`�Xo���5�������KJ����t�J$�;�Θ��2'��|�sǵ��7�����if�-w�oμԽ*]�f;	[�b�n%d�{�S�֮��첫��Xr�}?��q�'7����ƆO.^��xK���;&�\��v�;e�|���m�h#���&K��!bP�\�!�r��ɗe�w��t��-�Om�c�嗮mX��&�f45���i��״\�|W�|c!

��Ҡn��Z��vZ�[�<��jʯ.46���������5W,�|͙Kg�9rɥ�w]z�ꭗ^�f��K�l��5
f[vɚ�e��mXv�چ嗮mX���3��\qY�Q+�h��ʫ[����{�~�|�k^�j��-�uk�z�b6�e���"�N���m�����kaᅋ��W����_����6��z¯�ް���HD}D�%�"JQ+5Q�
Z�Q��:����
D$7b�?�f�nŊt+V�X�[�b�݊+�V�X�@�bŊ�+V,ЭX�Rt!DB1d�V'��J�-!�.��Z���!�B��|�r�U	!�VпJZ�:�ݶ϶	!D�1��K�sths���sWUx�
5��!F
!vB(���b^6d����_�;@�z`AB�i��@Dެ�!N��&���r�9>�zک���>����r>_�hOo@�9�X�����[��744����7��}v�9��a/�Wb����
�K�#��s���������k�3��<��=޿��x1�7������6�`�`]��u���rG�����POm=�7J�2�x�/Ɣ����j^�؀�,g�6����+�q�9������X��#��?8�%��ȹ�
��+P���g0Z�A�ߘ�}���/����i;��F�85C���՘�/8����Y�&f�>�.;���I��Z�u��V��	���Qf�:�<z
��l�"����<�}{��u��;���lc�wF4��Y���D���Np�]y��"t�F5~����;�
����F_aԃ��6�����C���{*�g���o*�9w��}����Kc�F892��e�G=��|C���B=��CXQ>NJ�Cc�cX�w�o(y��9�L��2�l���Rotn�����+����S}Ύ,�`�Op���>O��2��Q��Tx��b����-�!�5&Lmh�ph����H�s��a�'�c�]��&��
}�����l܀Z�V���Dw9{(#!
��=���mƲGXў���F��n?
/�n�}�mw
x���~����|�Z�	`v�OdwuO����x�>�>������/��Ƚ�JuE��Ox���dܟ=yN�����h��x�O��܍�^S�`�
ͺv���e��xP^�M#6��;�8�~l��_����˚�-s��z��c�9�ui��l���2&�<Fgbp����{mD��P����;{~;�l�KCF�9�eE��e�+&��gth��
�Z�W�bEX�,b|E��/�Zv!���&?�x
���o����0Yp�\7�5�=I�cȸ�B�|�M�u�0�c�*ܮȚ8�ޒ&XZ��9����f���e�X�
��a	�f^F�+�Ťn
�3�cX���X�g��CS~2�x��9}������!�u��4H�a�]!�Y�]��{$����:�O���p�#
�����/��X�x>�>�CV��`B�\&�9���d+v��z�F:W5+�h2�]�#���y�r퐘snhy���h?g����PV��bR����HQS�V"��/y�ۋ<'��x%�݌��s�+��l\�
d�1�W�139��~b���9XC�et����>����R�9���DL�c�s���7�f��56�ɼ/|F@o�QdP�؈��<��b��u��;,��>{f5<�����xv��.|��ؽ�l�ů�kV��#��1��8�x<��U|����]���+��zXY<����f�������q+�4K��`���D�YN�ت�8�i���\�?#HӴ2;��z=[y��2{�V}F������E�Be$�I��nn+���k9��/
����s��h\�X�_���p���LC�-n�=9-������G��P���n�<��=�;��ս�����]�
�>;�۱��J�&6�#����~+�*8���ŏ#�@�����ٮ�;b����/F�=��O
3�Y{��{GV"�0�L�gE���4e>_�{���E����sT��JvE�Ip�$��{}̲sZ<A����<��-�&�|�w]%ϓ�{|
{@���'����i�33��r�f����pq�n�ksb��<&sƲ)P�r�(T�ޔ#�R�i������iV��c��oX�:��eܖ�#7a+v_N��
;A1צ|�/��/���v�3A5����H�2�T���b�teD	Np7k�F���eMo�ط��D_���Z������י9l���5��o��<O��Dr��U��4,�L��O3�£�O��
�c���D��V��:·J�,s�>�J���y�#q�����c8���+�n7�1�m���8^�)�>����|��1��V?���	���P�QS~�؞A����<�V��J^#�f��	�S̤Vr�q�u�?�g���ױ5[�bƧ�q�/���a�1W�y�`��Ǻ��3�2+�'��&nf�ü�ϰ�|b�m^c�!�����
�y�'�6S�f(o�0o��ߚ�k1sd6_�c��e��\S=���}Db	��	>�,�O�-��6�^�f+��-�d��9��k�ٶ�ם��
��t[�Gx��#��D4���JDg��~ެ�'����g:M"�g�l�HD��DTKD�huD�7]MD��M�����":��0��N#�+��#�G�h2�;��""w��Z��":���E�����"������r�y��;��N���/�I�ϩDt=h��GD��i�lwVp���sO#�{q��y�#�hXd܆���<�q����Z�o��o��.ID7��|+��uy��KD��	|�)Dt-`�\iܫ�Dt4�_�=��5D�H𲓈�~�v�7���T�X��݊t+V�X�[�b�݊+�V�X�@�bŊ�+V,ЭX�b�nŊ�+V,ЭX�b�nŊt+V�X�[�b�݊+�V�X����j��IEND�B`�images/admin/rsticketspro-legacy.png000064400000102240151165074550013615
0ustar00�PNG


IHDR�d��(�sRGB���gAMA���a	pHYs���o�dtEXtSoftwarePaint.NET
v3.5.100�r��IDATx^�]�G�q	�Âp�Npwwwww����B��q���
�
q������{�{�3�wGB�v��n�vgz���������{
����������O����,S��	�J��/��?��s��?<q
�YBR�h�[C�������ƃj�r��9�瀟~�9�瀟O��T��Yץ���v2��@)�=���W^���#���>_�M����/��?��s�ρ�M�_
��m]Z�|{���Oj�-+�Ϗ�	�FH�����
Rp[�dݘ���!�lP��M�[�瀟~�9��@,r@���H�׽$n�6�H��dΥ����y��l������z��T���ۚ�I���ڔ���4h(?(5(A,V�_��~�9�瀟�?2�
h0���Lʵ>����\^�*-Փy�_�ٝ�}�����h+h��4Sw�����n��r�@P�矓��9�瀟~�9�ˁ�0�"���{K�…"�HSY��LYxe��|:߁�͸4I���'m7�j{JK������䵠Ѡj��T���~�9�瀟�'�@��FPη>��k�:�U3S/��H+�s�\h�Ԛ�]�!�/O���������FRyw	ɻ5�{���
��*��|r��*?��s��?lr��	���\
$���8�Es�"(�2�X2Ay����(�f_�&�.M�i�kt;h�%w䕜[2<���}��M�r(��n�N�i����?��s��@��@���
��^������r��}�[Vx���%5c3@�
�0y������Se��	Zy�Օ2;i�#̊Z�o�.�B�4~�~>���
?��s��xS��=pא�e��'�?l��h�V�l�;�X2��I�\��'i�<��p�s��4>PS��*�44h:��Ľ�T�C��s��?�x�8�M���
��7��;�K	��ǜ���=r��:�vlc�0i���0g�s��'!z䙁��x{it���
�/97���|�|��
�מ�;��7��?����ȃ�
��߷��nΑ2a��!4]��٨�\��Q�x�L�0V�w&(+⳨�w?�N��,�Bs��]}jJ��ً�V�9�瀟~��9�M�
�i�}�=�﷝�®b2�I�j���I;6�����];�
&������#5b�3��|�p~��:3HӠk�(EBsJ�-%ۦ4O�?��˲)eS�砉�����T��s�ρ��x��/�2�y���Z�.���l��\m�0v�s�d�١�ٜ�ϣ���X̓�i?����h}��UPkPP��K���s��?���r�ե�����~��7��W��<��|�ٛ3��vL
Y��=i�c��
L����gh�!��H����N�ξ�%�E�(@y�9(�����s��?�x9��
W`k�}��ۤ���������GjǞ����\�3�2U+s5��	�
��i�
� s�Y㝇��'CO��!}���;HӃ����
7���IV��A
@����7��?��s����q?o=�ƸGp������]Z��s���C�\�c/�L
9*
s�8�\�I;v�g`<8��F�N�Ҁ��Ov�s-��������Y7����?M���/���~�9���k�u�#��/�%@��v�D;佦c�����̥yV;�x��3��v�p�2��9�ޱ�vLs�Q;�f��c
�#`<���.�Nvը��n�d�x��4�WUʄ��[��d�K�5aV!�"�r�0(����6�9�瀟~<���w��
�M�}1�D�?�y:w9�Ze���]Cvd�g����U;��Q��H�X�q$
ww2��Ą$L
�x'�u��t;�VZl 5w��R��$��Lg
�ʼ.������sZ�3ܣ���9�瀟~�g9.:���6��
Y�c"�Ys�bzL��j=�1�I�{s�2zVs�X�؈�2���vl�L?:Q�q��cce±Q2��Pz���!w�4b��=	ƽ�w�>sG�q�������G�I�#m�Cx3i���T�YR�oF�����m@w�5��+�瀟~<��}��H�RXR�+5e���R`[����t�\mcO�Ǯq�#�U=�%�i4Ý��I'G��#�d���}��'{V�]keC�	ٹ^�O�
�Bd��Od����e��y2��t�'@�j�����`��H[�r��F����NGZ��C{n�ݖC���y�e}��AG�m@�8�h����瀟~�9�_���
�v����&2�	�y�Ca:���S�LO�1���C�h��1Rf�"o�]��$�˟^��~�M�߿/>�Ǐ;���o���?�޽{��˷�~+{�
���kʸp��^��Xg�k�Ԏi��vl㎇[H�Cͤ=��a�����`oU)�-��ؐN��O%�C��4��~����?��s����qt��������Ƞ5��`MKv�;6�����1���z왡2�dy��2�wz��=V�G�ɓ'O����!���%�}q
�\����~��-������H�k�]��g��'GWʴ�e��ޚ��
� �o
0n"m6ֈ���@}�����97��,�R�P^*�g{��_%?��s���5�UtAy������qE~��
	���Y���2�P�s�T��Y��t62��2��,Y�w�|�헚�Km�`��_i���3'��郲��FY�����uy�x﫲d�"������$�69z�|���@S�����P�Ays�b����<��i��t�a��vL0V��`#qPCiu��ʤ&�jI�]e���`�_��\�0*{�����5Щ&��҃�[�x���?��'��.(/�j����v�d���_���C$\�D����zҩ1��"Y�F~���fL355��vȊȫ����e��!2��zaP'�|1��{ɐc}d��~26|���?U���l8"���4n��[�e�m2o�,��Y4s��ۅ7�4d�q�c
�8PO�ﯫQ��u@�5�v��$8$��w��OY6ҡ��DyQ�?�ݧ��ڂވ?���
^)U��u7�ޠY��Z�~[�d��2^�'�\;Td7�KB\�?��|.���x8JWPj������C1<�/���`��x�E��>S2���ط+Vㄲ�ه��o^
0N�]P��f�s��T�]J;ʼnZ�3��B�N�2s��Ռ=�|r��p�\��f��f�[?ޒ��;��}���ce��n�Ǒq��0'z�ӳ�'B���"��{˄#��o�ޣ{��75p�ꛯ�}+e��a�`+M;&
�90�f�e+@v�qMSn���F��Ր�;_�<�5?�<��<�9K�96V�R�Q�Z�cL�*Uy�58�a��l�3g
��)s���2d�,Y���Ibat��2
eȔii���~�н�㙯-~�j{��۹��햵a�e���2l¤�5���3WD��^ꆲ2��{�W�T�,R4Ƽ�
����e�>ʔ9�tԷ|��e��1`�coԭ߀�y��ks�ߣ[D����ᕪ�0�!S����"�yA�ӤJ��U��i;�Q@ʔ��<k緿�z�V�f-K�/W��#�Ǐ������ُV�^Ӳ<˱R����^�<
�)s֬��y�Ӥi�
A���봜�o���AK�ʙ�H�[�|x�����4[��2��-��S��|��Y��L�<}񴼻�y��$z�o�D
�Ous�;ydc���;�V<~�y}�r�\��9���v<Tf�"]�v2Aٓv��q$
אF{�KC���,�3��@�.(����e˅��/`�	ି[�
���y�נ!m���/�O�R��%%A�1ɳ�90'��9y�|�qs��ڻ�Iۮ��)P`'N��i㷶�:v��s</�y���S�IPp�Ե2��Y������ҿ����?�A�FS�2T$L8�y�ES�N���r�M�.^�i����P��h7��g����{�6X��%_�B�-@9;ʋ�ɘ�$�+6m���@��/-;t�
U��Z�H���$�=K���0��(L#;�o�r;�H�5�@�{�[�H�i<�Ie�1\3Y�٧N
��YG���^���Gj�2]3sE�+0f"�^z�s\���9rѻ�aN���dҞ1��D�|��5������鴿��%s�ب��1��
��I�=U5����T�QB�֦~@�*��+lޛo˚��}�5T.]&=��R��І�j�nshJ+�%��.}��󣕨��ח�5y�|iԲ��3�5��0���`����QS�F�r���%���@9_��1�a��C�;PN�6m�֝�������ճ�Ir��{��w߷��q�̔��/�1˷��D|�ɲ<_ƃ��l�$\$`����BP�z�{���<���S�B��9�����^�R;�I��(����B��w�J2��Y>[�aYi�dzI3�x�Ɂ���H��Rd2Z���k��$
�C��q�C-����t�r��y
��~zFf�*��0d�v�d�q�=��ήJٔS��M�'4�f�oc륁��7ޔաaO�>ٺ]cU۠Y�_a�~���/�	�8��G����\�-T�d������S�؄:���|�[���ό	�GN�"�)W�V��YY+7o(�5�|�N��f�){�\�2�,f}��	���<�-{�R��-Y�e�
����"���,&�o�ޏ���xT�|��R�J=�����ؚw��r�0$=��^�몟(-��[J��#���@�ʙ�x�"�V�~l��������5M�G��E�˰S��q��[�c�ԌU�Lm��@�zV.&1���jd�jwȱw��@ye�9r���}���2s�Ti���(��a�v��2W7��k�
��;JI���@�*��N
�)8l��%B����
�g谿a���=4,�ɒ<f�0W?�:~�A���Gx�>ԁ{���Q�ԩ�6o��=���8I�fs�2Lu��¿ʹ��;�l�Sb_���4i;��b�G\���EPN�=W�}�^[l)�}���,Y&Z_v�Ag��|t��tѲ�ҺS�3�D���m[s�?_@6#��r�e�ݙRtgN�a{
�#C���+��cc�ju���SC5�k03��N"4���
ڱ�	�*�%g5��N0F�"�["�q��U�Qxc�wu��d��r��~-9ɩK�d��	�r_ݙ+R;�ƻ�W��Tkgy����ߜ[��II`�-'�`��|�uY�y�?J�Z-
�7�+y�
���^���=z�'�b�f����i_ziꤝ���ܬm��7fm6~�
��W�����B6H�|��uPΙ7#;������(Cv;��b�n�6��EPN����&[�~����
�j03��F,[�Ʋ����@j֯�'��[s�?��>`��
:���T3�v{��,}p�Mב��Ü�@<��4���yd�l;�U~��g
�oܺ�9u�;6�p���	O����5�X3W;rV���T�1sY3���HR�N-u�������5m���~���w��]��2��<k�@&��YN�ae�ܶ"�c}:��QPl�b�/��x��7���eR�R��%b��Wu�]}�Ï���<`r�oΙ�PA�i�6���a���S(W���֭h'�>(��{�+Myحo?������P��Ŭ�^�&�~|fAy�����߮[7I�b
�n�^�\y�Fp|Y������
".Π�E|Ŷ����2��{����=D
����5��@�ޱ�\�#�1�#"ʻ��A8җZ�L�>�8���c���coڱ��@Vy�U�j:s9�c��t���T�{��B��ZA3��g���x\n޼)!{�I��m4�j���1��ښv\�	�
������;�H��oCf���
q	.V�T���Z����]�7|�G��+���!���Õx�ĉ�x�d���g�Ї�]g���k�
�~���:=F�,yC�ޯ�{�se�BB�"$�]�V�m=ߊ��;�t
���`ƢE⍦-XP��r�\X���k���%(��b��o/�r�+?����F�
n)��
�<6���9����,6Ɓ�ep�����b@�,��?��Q*p�]Pf*̾�w�»�5��	��ecw@6�y<��h�rd��XE-�رc�֞%8٩�S3�Ԏi�>fe�vd�r��3��@��<�ٻ���F2k�49��|w�;y}ǫ�bw}͙�`	Ⱥv�W�Q��/kT��E6听k�#{M@l�s#�F��y�5�2���}��Wiӥ��ҥO��_5j���q9�TVe�����*�=�w�R�����k���$6~��'؛�@~�t��`��C�mh���J��˚4{�8H�/~���v
�5N&v��y�����V~l��Æa�.�|�++��7�}�(Q����Z�m�[���s�X����<�ܻ��ʩSw���L��E�"(ǃ\
i߭��,7i��(����3���\�n���~��������<�ė�F�֗˕����5����[E���%��!�������w�����̃+�#p�5d���~p�L><6����~�1C��d
ܿ&��cu��Ґ�+
YK��Ԏa���i2]�cWg.&�!m�4��s�=��.��c���R{7�ch�4U��Ԏ
�5
-%%��lk�����%J�M�=G�H�h���Pm��|�נ�	bV��zM���r�ʎ�8�j�Vos���A��һ���/�@�R^�nj\o
�i�h�L�ƭZ�E0�Y	Ds\9�a_��xV;m�нM�}(?�e����Jp�\�N��ƌ{�|.A�d��9p�,S��3	�/�K7NR��ʆ�[�
yld17d��,�u�[����^��9g������H�c�G�MO��ުܥ�k��]��\��{Mdc��o\@Pμ*@^�%=?m/%w���Fs����D@~��,��|�駚隹�W�P��y�1���g�33��]�];v���*�j��������y�[
�X������.���;�ߒ~�A�\+]w�urMh�$��2�֊Jo-(��^"($b�\�<q�,ykFg���ez-�E�g��[����A'��W|8��l��8���/\Ȱ����k�z1E@�*�j]9y�fjWe/Z�\F!	���Et<s	��*�w,JN�3Dz�|~��թe����냳�.}ǔ�w�@�,G��U�t�
�"(��uk֦�i���Ԩ[�:䱊(C"�8���o�f����
.|}1�������Ə���#�oZ����@�PږZ�:O�k+ev��{L͘�4c�+0���4��`�,d�QS>qL훯�k"=M�
u��8D�řK׎�S�t@V�@T2�&3�k���9��<$������^���'Ið�0����9��J3V`\)��T�^\�n+,9ק'(
J=\�X���~���1C��j�Y��)f�2�5F���Op��Wb�X��ַ��{�8e�ǍvrY'ĵ��Ԭyn�ܹZ��T7�1��I�&m�rb����>�A.t����+V����rΜ'��LkƏ�]�=��*U��͛���߀g���f��uM�O�R�Z��Ƹ�h	�Hm�=t�q1m�|ɖ�(ks
hހ#�X��ߧ̝'P��([,̟�v�ע������;����RywI8x
�X9r����!O86Jf�O��fIȮ-&�{�a'Be���N@��b�v8su�w5���]�<��f���*g���5��i�v��Ȟ�cG�qdf.:s��]Y�d�|�R��odDZ��%���v����\a{1�;wH&��u��+����L�������Y�6��n-\�Բ���	���%͚-�{�?��W�F�9�i:�{�A��T���n��2M��b�}��J�A��oVu���;���2M��@c@�&QD��:�(��L188G�s�,1�SQ����t���=�g�mf{���aW����x�T�i3�vO�*[6���h�ʠN�ɠ7�60v�m���"�<-9fr<��R�fͯQ�%(�$1��7-��Lٲg��)+^�([��c;�m�[o�߿���ʎ�9�s1íh�d2�b���P����g��@>���wF����%�"
�T��*j�k�v��CO��&�1i����{�.�n9p���@yڡ��x7G�L��1Y�c�`lde�����<��Pd�Lͻ�@]
���8DB%�g�J���1H�;ލ�cP�e��=r��9��c���Q�e��];&��^T�m/��r�
Y�?�x4aL_��
�9w��e�4j�d��ՔY���T�:{��eO�7W��~?�ɪ7���a��C,�%(cE�h_�6Iܸq�ċo7���c5�8����6ղ��9<o�ʉ����T��Ȍ�Ƥ	f�$�3X~l������b�Q�^=;�I��{ܶK�G���y��Xx�5�
@S���q�ɉ��-2�G�N�~�!Q�l8����Y�qm-�x|)��f���
/�r��ҏz
����mձ㣚��=�_��߸�<��2��xr���Tɽ`}�9t�8�v�Y�X��j�=?�ԏq�����IYO�$I����x^ҿ���q˖����x��Z���m�>̞;�8c���C�ۘ<�U�Z�ѫ0Q{�&ϙ-/�/eY���9��3L�5�Y�|�88���߲s˖a���ĉ�G��O�$Iu�LA����"��}}�E84��7m����A�S�L��	_�����n?�`οS�vmM�(o���W���Z���}�pO����p
�W�F/�.
s�L�ZG�K�54ӵ�vLS5Sd�D��7�,��Ǐh@���k~���U�ut�L>8Vz�����G#c�#�X��u�q�d��c7@֎Y��Y��l4W;ٙ&��N:
���p�ɚ&�Ͽ�\��,�Ci�j�ޱҌ��0��T`c����yu�}b�
F��'Ȃ��6�'
��'P�W�U��X�=i�,�sޏ�8A���[��s�@�}�{�L21嗭�1�9y�e���(��\�`�":��%�IW�YHT@„	��-X�Z�v�d�̙2���,�=���թ�7&��^x�'8/�	��s�{�frвC+P���.��k{ɇ=�$�%L�����:eϔ%˂�K_�ӏP+�dn%��g�6G3nsD����8L�c����ǎ�,�ϝ�p��2�c��ܯ5�ٱ�����u�*�^��9s�xCFN�$n)\����Y��C9eAf�1���7_1�1S��|�XY�C"���2���ȏ�T����ïD�%O^uN��5��*S���P�L��p--D|����W+ר�@.�D:�߽���)R��±���	�}b�����J��#,��b�g(���9	��]t4�j{Jˬ;��lx!i^_3]��cj�d��4��Y��9{D���;P6�*�w.��GzG:s9ҳ��Z�1�q�1��	�<b�q+�;�pю�,F"�!���D�;�{��.~����pN�l&UC_�@Y���`L�`\fk!��W����eU�;p�j!�/
�_�P��qc!
KL�+~_A���̷,{��lٌ��0}�[u�`y�Th��T�
�W�X�G�S�A.t�x���T�mPƤ����^�f@o��)#&�R�����SW�k&���e0��7PƂ����ͱ(�Д��ʗ���^5-���	ԥ����'��6�;=�������O��T���Q�Sc���c���eZ]����.��0��X�n�ՠ�Cj�V�{�}��90+�eh�c�����U�x闯�=��O��-P�DؙF�1��)�31i�-~�kҘ[q4'�Ϡ��7>N�?O�֮e�̰h|������K�6�'P�O�R�ƍ>C�lXG��o�?��R�j�c�{�7ߒ
��(�u�}�䵻0���G�kZ�cj��IGG˲�K%��)�s��y�"35f��I��2<|�#����hk!k�lt�ҽ��ڱv�"��z"��ڡ+@�<b�=�{
Yi���\MvԖ�v-�o��F�
]"�Bq������VHH��[
H�
�	��SbA��*6x�(��	܌�"��k��R�N�Ve��:E����W<h#��6ndy/���K������X`�U���k��˗�6(+U�o_yu!��=�r2�al�ڵ~��ݪ�~�H�<y��=�&8kp�����ӬMk3P��݂N={�eU���Z�õ�@�{��!=���
V�><�B�G<���i/��#cT��gB�3�r:h�[:t�&�-�iվ�
�[��u~O�RZj^��
1����>�k��H)T��-P�DL����n#<Xx���^��U��N��P�0�]�.^�y��NPN�"ś�7�����1o��Ӱ��|��6��:�]C%ψ��=��Q�ʀ`�m��J�ד�w�J�C��x;m�X��y�Ęc��=��╋Z���ै���޽++B?���}�+��
k�,�H��c-�I�Y�i�<bѨ�\Mg.#��	�$o�jg��������m�|��eٰ3D:ok�yWs�X�?Vڱ�4@.���ۘ���'@�������`��#��+�.0���F�Ү�[6q�7i����Z�����k���$��R�r�;�Vu���^�&���^�G1��ƾc����v��ʃ�F��U�˕�6(-Y�o�{h��7a���q�w�'��UG;��?b�cġn��j|#W���3��>�q��t��\�c�O5-�<�tO�V���Û	�{�<sy��`���+|7k�詓�H��b��8М?�?|h��S=����Kj7l�U��������!O�ȿ�m�
�X��o&˽�l5�Ľ޴mUlv�A��Y3,y4r�2}��S~0ݢ�_J�)-�7�4`���x�ӄ��H��	�<�C�zu��b"C�Ҥv�X��;}�e�����Y�g�]_�*�#��u?��w��N޺��<�UKw��;&
9�G�+GOqd#�3ã>��8�����N��y��c��g��=V��f��1�T�L��
��:�Ef梩�����V���%
�+m/���'@~yK~)�9�FE7��U)�W��k��G�o��deF�0��`Z�c@?�r��N={��zr��ʉ	a߀�m���>t��ąӑ�~�!S�I�&�C\N���Y,�2��+0b��z�,[&ڠPx`�g�f�a&[�;(¤��נ��g%�w�.����2Fg����ĘiSL�רEso����y�;vx8e�l�eL��a��\��q`ꫀE�a��z��b��;u�_�Y�_��k{���A�b�X�N���Q$�r�]~ٽ.Y�dԔ	���H�j&f���C`�2fb�'b�|���[�KlZ��Ed�8�f�.�qd�O�U�ov�A�8��U�Y��Y���mkԭ�Ī\��1��I�2�o?��f����k���X�*�4���#'M0�?����}���l����_3��J<{�C;��竖�q�vV�7gK�����4M�O��h챡0E��S'�1�eODp���S��ݱL��wM;>�w�t�R�H���D
Q���j��k�B"C�jMC
��\j��ʲx�"��ۯd�֙Rk[�ޱf���Z7W����%7�ը�F��\�T������q%�BCa5�ޘ�pްM9�5�a^�mت\�^�VMz,��I�S�+�n8��)�x
WۘXq,^�_�ȿ;�I�D�\e"��y.�>�w�`[u.Q��h�2̆�B�����_H�BS�c?�ovxJ
�	�~�����ַ31�w�q0������mЬ�'P&�)R���CƎ6�;�����<�K��-hޮ��ɋ����1,*&��^��G�ޛ���)�<�K�.S��-\[��'=��S;|Wנ>������Q��t?M�m�t��ի����0�T�2Wkկ�W�>���~���a_)LB�\y�l�9���vu��[2f�ʐň�^xil��#�J6�]PN��A�F��=���+�B=dc�	o}2���5K|\�y㿺?e�TFPnU�j�����T&�u�,M۴��ۉ���y�0���v��j�w��+(gY�R���">�)�Csk'D�y�Ot�>AN�:�e�R�(��ki�[�3�cd"�v��{dzU������E�w5٩3o5�8̑&�=ԩ�R2a�����e��O��:�{Ǻ�Z�M@.�)�ߔ[�l�!A�S�(#�MX���;z�)q`Z�rzFS����2�U������)�^eh8�)�v�r�n$4j�M۴~X�|�Ϡ�o����L��S1m�3�`/,t���J�A���fϠv
`qe���o��۪n���W�]S�,�%����sh��(��<�ωu�
|5fWƖ�	.�̞I���$p��ٰy�G�X���C�
����1��}�8S�/�o��ؚy�6�K�p/�����r��_oaax�����j!��O��wR�m�f�n�I�0�o�W}��g�G�E
����:�E?c2S�F���_P�rH��9K����U+���Hʃk��I���:£���u��y�5����*7;�m���G���v@���Xx�������rn�}��O����g��>�]��}��U�!�j�`�D�r���^x��Y݃E�X$�a!�6�p
���*Z����]���Bx��B��+�����CRI�߱J�<ZJ�D&�nN@����=0C���@枱'"X�yL�a��[x;����P'��Z�j��Ih��8��(0V��f`�4duĢ3M��{�;V�\=�v���"d�=�~ks�v@~yk�v���{�$�r����*`�,��b�h?c%֭_��Q+���^�Oa��?u���AԪ<�{3L\�'�)Q�2@~̢�-��u�v�f�k�.�N���q6&S�XI����`w���Թh���eL�̞A����©�����;l�
T�d/&���ϳ��&O��%☯
�ҿ�1Q��ĉS�
|���d>1�7{&�o�A��@H�Zf����	��>��$./���д[<��a���AQLz׸��T�P&�@]�"n��������neZw.^*_@��~?��o
�����PX-<Ձ���f�t�kwG�P��и;c�Z��c���2هբ�^ï���
-ڷ�O��<ٱ8��37�C��e��f��'N"�J~�{�J����Rv���E�	y�2�	,��g0��rM
��3��A�r��~Kf�1��~�2Z-�͖���ȓ{G{8���O+V�Bo�\C��A}�!�e���b7�����E�1�d8�]^��ܸq�i���^i�Ԫ_߹@:��r��5j�8��ȞOu�Ҏ����Z�&
;�dzЎW�VL�m�*���m;�Iħ�wk7)��'�lԎ	�Eu�����*��}.��p�ܹ�:��	O��8Qê�g��p��J7^ܭ���L<�Y��N0���J4�eR��K�u�y|�+X;u`D��9���àAb�m�
EK7����n�1����S�N�{ޞ�mx��1L���TOЙЬ�0���r<�8��g%�[��E<�����Dz�͞��G���f,n-��'����s��%.�"��N�T6}6��ЏV��L��bqMM����r��4d�,*̻���m��\t�i6Iv�A���-���L�K�;F�f���)l5p��9�`�ɧ���>�eπ%ƲNVuV���yѸΊg[�ݫY�����k�{�_ݗ˗��E���q�`�4v)`�8:��{C&�����x�0Y������wv��i�\/á��f���]��3���m��{�کN�]�c=U���i2�#�{f.��r��n�vO���(�����j���Gv����ヨ��ߔ�[k�J;��Zr8x�����r��2�?�u��M���	Ǖ�p���'��S���S����f=i�F��C8��VΔv1~a�N@v�	
'ڠ���gpB��ʽ�թ���@��#����<�1�����=Aӫ�skԫ��`��4��-���+)CC�i�P^޺�cA牨i`��k�N�ڨe����
�	x./�2dܴ�t��W��%(�4����r�0Iw�����
�7���!�F���d�!�!�P�3.8?Њ֨e�~k�>=m�a|u}1�W�'��hF��M|.�[���u�r�cx���0O�m����ਹ�j.�"��L��
o=�USο!�̻3M��.��U�~В��E��4�XO�h�Z�L#
ӻڝ�
�yR�/�v�%9��4Ws�ؙ�zdf.[$Q�\�?���qĢ�Eoi2
ӑ�ζJ�`�\�|e.8X�/��B���T�TZ�;6j�
�lM@&��IQ�����f�gϙ#����#�1�=d
�f�i�6���V�8�f+#�`�Z5�:(V���h��0ֶny��Rl߽��:b�mPF8��~�?r��2v&�Gf��o�bܩ��RF��?F_l�D�2���w�ZV�X0�p������bA`*W!Q��^���mVW=�����kc�r8�R��C�3<��^�Ww��x�̇��ߒQA9y'&�1k�wя��L/}�rz�'e+V���Ԅ��k�qd��7�&O���Ъ��V/�r����v筞���*���&C�⌺������r;���$,�~G����n�U���6:!�zo��ؾK��&�v�oژ��2o�(�
����AE6��#�.��U��$x�i��^�w�s����	��w����_������s5M֮y�#���5v�E7@��#�Eo��T��[+ȼ-����z�����]�m��
�c# 
	V�|�̳~c�
���1K&	ʙ���9��[3�0����s?׎�m$H�Я���������I����@2&1�/���Ym�/y��
���}`�o�5�����������|��4����7�FF�5u8�%{VS~�~)
�&(�/A���=��򞩨�׽Q�_5k/e��ɢ���J����r^L�B�^<���}�N)S�4mC`�̒��d���"U��<�ϜA����O�0��g�rG[�#o�&]���_x������9�����5eȜ��i�Me�[�^�3^��%o��b���p�K�����P�>籐)$L�襌�L�M�.�
O���׬�2x�=�+]��L���Y�5
�Z_ދn�%o�{U���!M��4du��#�de�
��矝��(S[޷�L�3*�����A�{��A{]�V�1��5d�q�3���{Ǟ2s)G��[�Ȭ-���q��Yw��_]
�6�L��`\0$����IGM�2��d�1��8i"I�<�ӣdI$I�Ē0q�{��[[����K�	�ԢZʼn�,�c�IQ~l�?���ď�$�Qdw��R]��`�P/<��
~�A9~�xL��ċ��o&J���=���#�^���	��L��0Q��va�$	�6����,q�lB�?B�/���@���[9	��⠍;��]'LΦ톼�l�
���O�;+:�~�al�Y\�zq���<�I��K����e�AD�X�v�������x�ww�L7n��'�5V�9,Q��p��@���:�@���S*\����\>Ϸ��~��a�N����յe6��vI�s9������S?�x��t盲w�^M�d�1Ý��u���Q{�8sV�pc�w��v���4�:k�1���Z9t�1W;�d��U���W�L�/��R3ϳފ��M����<Ns5��T
$H#���=�5�e2��8	@��Ӡ��
%���F��b�P�K݃p�h9�1��F�$ųb�G}�al���cZO
���l�+��r|���3�7PI�$��{�	�t@9�9?���A�
�K��w��]�sN�=p��q>��;����Pe��	M�F��[9��T�N���ǮL9�	>%N���߆<ӼIp�
]r�����!A���	H�^�5P��;c��5��P������H(c�[�I�c���V[nY��P�y�1�X�r?l��f6��n�\
{9:�\nga�[�>,m7��G,���G;˜��h
K��[�n�͛7��Q�&����%lo���/ҙKs�Reb�ؘ�KK��Ǒ&�Ĝ��ؑ�Z�;+@&;�X׎��<6��d2�;C��䓊����-�ʵ+Z�YwU���Iݍ�5����8���Bʎ=e�@���H�����I�ОaR���,�LO1��v;ˣ�i���	�ߡ�kz��(�ɺ&�Y[�}�Qi�1e�vƋ�)���\c��BS����ƍg&&��f�L�(��]��74����l�#�}��7�(A�������)�7��'������0;�0	dj,�rת-�~O�b�\@9��|I������hQڡ/(�����+;�,�J��>�}|��=��~������l"#,}|
��;�:@�b^�sm��E��7�p��2:�\㋗e�ͭRp[6i���fS"��գ��{�if]2O��#�7�|�B��`��v�	�{{5dw�*�q�bg�ݕ5@���G	urde���&qnj=.�ő����"2y�8�|��BC��عc�kcg)�Cd��g�|벨=��1=)%��\��t�0AB�i��J8�X���&H@g�����`��4Ka�4�p�����Db�~���0����BB�D�x?^4�xД-�,
([\�(�SeYI��ߎ7��I,x�����a��ΊG���lFfep,x5_�7�{�V�L/�>ew�yz&�����J�_��M�({�}A�(ۜ3�����c�}>}���=u.�=z��J2,gP�̞�/�&��>3e�܅Zͫ|.�oe��y�7+~��?�����r��K��K�М8!��
w>�Jz�
�-�k׮j�$��0�;i����ko�H@ִ�8f��F�	u�q$;b��4����9s1M&4d-+�D��̙���ĐڱdzV��TP�oP��e�������-�H�
�\9�̒�C�SN�x��b�\c�	2�{QW��_����Z	�6��^�C�
�a�Mo�)3)��	��v℉y�T�&K:���!�X?(���2v�
h��|�#+�J?s�&��mP�z�3��`��E�1�+�<!��?FoX%)�E�YO��/(�����A�Дm�2�~Y��A	`Aq���@�~�8��9Zj��мlƪ��@���o�M�Zh��e�g�WO��~�(�����f��ܑW:"G�v��1�@�t��t<�B��*�m�˟^Ҵdߕ��w�m�-�eok�T�0W;�*�I�Ws5�P�̸c{�M;6��	�%6;�d2ԩ��2v������I����H��
�"�v"�Y��@Ǟ�')��L�����l�}���j�UB��7�g�3ǜ���ӽ̎�����1H�ح/�EW�-|���}e�y=���>�4�x�l��<��bj���d�#+��CN���"
�-�B�N�}��_t���i�`��Z�>G��x�#
s�+b^jé|���~Pv�I_��2;j��A���){�Ɋ�ʧW?մa��l3~�i�Fi���K�jw혉@���F��S�jw�ju��Q;�ReBC.�%�3��=.�1���4D.~zAe�&�)�}��m�
�:��1���{]&ɽ6�e�+���WL@������jpj�q��=9bR�h�Kp��	$@{��Fs���3��mP	����_V2�~�"��o��e�|m��g@SVL��v�����yԪM��#��oQғz����At*�D�϶�����VC����:ͮnAy��At4�i���_��
��i�15d�3�f�y̬\<թ��p�\9w��)@V�^�ݞ��j_�v��:�q�:��\j��x��3�؃���J3���\mԎ����UlCn�i���|�#(k{�Ƕ�kh�����rF��5�g�_���.�����U>��ϟ�	�j���4?���>>�y�{���2_�25����,�ݺ锞�f���4e������=nm?����pߛ{�V�$6����'C٭a�=E�׎,{�c��0�ʌ��0p���n��O�|
���d����e���fRew)�2��t����E���t��L�=I6�m�@���jY9Gы���O����{k����fl��t�����:���i2i�v�X(��1�ce�V�H8�V;�IE7䔁{˙Kg����;���Ƥk�Ay:�穘jʈ��3�;'RL`4K%����M%��N1y�L�Ǯ����!~P���LPN���L��a<�ț����+���M�1�d�
(�Q�O�	^�s��ܚ�◧�5��8qע,_C�|~P��@9)@���;+��g���޲�v��9�#�V7�v����eŶ�4ӵ{C�~��G�#��=�j�\ԎI
�Q�N�3�U�����\: G1U�ג�xҎ
�L�L��\]|�c��%o�13WHv黱���p��*�k��0�|�{��s�ɠ2ɑf3%5��
o�vMLA�����mm9AB��0�>:+s&���MB�9%�濹t,�3���.�����2o�-pd�h��x�{�Yn��_V�C|�u�SԔ��S
�
8�8?�;��c�z�<�V#���ʙ���:zʼn{W�
Bz������g��ξ�.��8D����A�p��X캿���c�:}P��=&�Νı���܅sr��
�#r3��Z����ӻZ���?6"a�Ym�{:D˜�Ke�깱�?�������{?����j`��fkR���O�P��T�m��5m9n�3\���ڕyM=��7|��c_�bm���|�@����-V@��B�,œ�k��Ж�Y������Mi=tR���fe�Q�}�`�����q��c�C�̯삳���l�_eGF/{��<D�lO~(���V2�1�,c(gm�.(_�sA
�I�}U4��Q;V���<n������Q��.��&���e����$t���s��;�Z���P��;�cg�qd"�P'�v�4dc����D
�\�p�r�;v1W#m��v��ʄflLB`�={ĩ��I�\�zY�n�
����NPvh��̜4����Д����;ow�㖩-�5�W���b/��z�Ϗ�eXG�F���D�[
mO@�{��§�3�K��a��k�!�-Hy����x��{�vd
rAm��}�F��5+`�5_��6/��A��7|h���`����F�pA���?���	�
��c��z.��`���o�U������p�2Y�DyNg�r�́�h
m��:�#Y?Db��T��xo������@��m�yYw��R��n#�w������W�j�3y�{�P'P�%4g.��5�j�s�)3��w�j�\
@Vg{�[mL�qC+9|6\�V���|'��9$�BZK�5��=d�q�j���i�P��I�������X	���O�a�f1���0�}����b!�A��=�K���0��J��:zY�25i������X����_��fujRtA�s=�-[Z4��
y⾨�_����Z��-���@�u��P:<�%4����BL�qn��>=���x�1�����	��+�ˤ$��0}���B+����q���8�]@6j��f��wNH��Y����Q�Fs5Ot��V뀬e��u�I����4���\��Ę*ӹw0�C����vB��f�d�c�vl�[��\�;n���<}@�W����ˤM�$�d����<O9˪T�
&E��+�@�ϯm�+�D���6F=s{ȉ!�幯��L��
���P�`eʦ���]�Uݤj�X:�?Ú��er4�ț��X�	,
�|��e�!5�mr������Z�O39��)Uy="�(w>�2��6q\$�i������y�s=xX�d6.��r<��A�~�Ŷ��zf*33�(�+�3����s������	��)U��v"@��L��	����K���

l����\���dB;��]%��d��̥œ\�ջ#�V+g.jƚv�{VS;6d�2����]��ܮ�1<�yޱ��"��Ն��/b����ON"(���TZWR�;V`�4�
����(M�YeNNX�ʝڲ#K�y���C���j2UeiB7�YLRL*��=���ˉ����1q,���_V��*���y=���$��r3L��{�����ݥ�E�l�a8�WV���r|�YGf����F&�s��`�~�nKO����Pg;�H*����bQ�߷��r$��N��.�V�F��x��&��>�W�
��͏��n�G��LP`�;����D���H&b�%�e%���Ї���9U���5��J_T
�
��
�ή�l���W�e��oH��9�3����Ԏ�d
���td�k��C$�������޼���puzy�!3s��Su�1�4cƌ9&�Z_A>��v�3M�gz`/]*����L�Fs��W�lS�n���\E�F��ﱩ)�1U
d�ז�߇@2U��'6��5�C�3a?�g&��W@���^��^�J�����x.��ȞaP��X&�
��9�=t-&�%�i�m���rPf��^cg��ON����[�$�i���6��0Ә�W^�(�C��o�E��T��l�$��xK�e��n�3�J����"�Uk`�=Kԁ~
A�R�6�޲Y����7��AYw��f��|}s�j���v�!-%�>�<`�Y�W��8ȶ�P�u��`)�-��
���14dc�L
�y����ɳ��j�.�N�ظ�P�H@v$q���\�c�IP;V�̸�B낥MHcY6G6�(�햐��d���guf'
Gj�Аu@κ*�eZ)�J��+�A9&�=v&P͑ʱr�w�����Θ�x',E�x��뜨x���I<
�aP�����DA��
��{�=A��{b�X�	�7��u�z�c�SP&��-o�u��L���iqP��-۬9<���ܲ(�F��t��I�3.LX�>a3���1�y�,�(s�,.�x�"��w(��.d-�F>�)GyF9�|+����EQm�=VS3�n�p�M�r�@�%��f;�к���_�a:�W1NS,��!�T"�q��2�Yx}�����
�/ͱwl4WG������{lr��I��:��ȥ�1��wD�=��D��p�C���j�3�=i�*3s���Ž���ɒM�K���Ț\Ng.w�`�Hה�5P�sNMjV�I$��Qr?
��sCL@�[	���r��q(��,[T0V_<à����y0����3֊���0M/�b&��L��A�9�Y�-�B\��aQ@8�p��8��c��n���~2y@��#(j���.�y���0a^���(��"�O!m,���W�)��o��؇��4g�p��n�r�@�֖����m�x�w��+3����?�NN@��]P^z�ui|���	-�i���1��su#��E�A��@��D'�&�y��J���
�\�@Hv��\���w�ҌU챥�z�1M���{\`m6�q���8]J��UC6h�d:x��8�[Дypyt_��)�iy֭]-WӬ�ġfEOk�+9�GxԜ���k4Sb��?�"]�O�}�A
	��N��_	V���r��(��f(��a)�
>�Kj���s��]�����^u-��r��f�S`„ǻ��xO��A�7x:�[Cv��}�3ʺ�c��c���୥e�n_�_���;��Я@Ӓ��fE�þ�*o�����c�ڱ�������*�ѻڨ!k�1�8���d�?6j���\.�\�v�p'o�NʻZiǚ�Z7W���̵�����EG��krʌ�S�-�wjɚ���
�,��	1\/~�L�ܮX!�SL��Z�<�#�ڻv�U�+��a⻋g���D;���0����`���'<�~ߍw������ձ�ʄ"qV�*T.)��8X;��m��:�ۼ����:���d���(��e|���]��n�X���zO��~P�9(S$:c1�mu����A�~�l0j��0~�
��|�p)y:��-�9uq����t�2�h;o�ѻ��+s5�
�c#�T"�ډN
�y�M�.�j�ɤg�ѻ�q���c�3��U�L;Re=�˭-*onZ"#6��k�9����L�F��	ƈ
\�ѳ��<�����-#���,&�����Y��d����g}�:�=��z�e֙��B�B6|�)'L>�ڮ	2:��(�ޕ���"��MDܣ����r;'P��n^�g�j�eq��������{��|e�d��,�u
e7B�=9��A9v@�Ɋ��Nl3�{�b��4��@k������K�m٤Ž���Z����,����\B�h���P�Y�S�3�U"j��c7@���eԎ��:�y�ݵcc�q�u���ˤwH7ɽ:Ы�L0���
/���OCS�C��n8���&h1�ྮ^j����/�cS�ճ�x@,�c2�_=�k�d��(4��v�Z�&z���U���^l�rbʁs0.�Z�ܥ3�Mf
�W�r�YP�/BB:y�?+>�������:�c�	���(fOm�&ʣ�_yɻW�ʱ����Z�9�Ϙ��g��U!�0W�B�q���r���`�ܒM*�,�%qj��?v�=6"�1�Iw�bV.g�j��C��Q;6=�	��Ԏ�E6ѳ�q��'�Xi��N��c5c��vlu��V>��4^W[��Jk�Gj�JSP�6�����z�\v�7�$��6k��GK���]f��tS�v�io�Ϥ#�0��ЦX19<�}L�(��!'1~��/;�vK��˳��^�f~]B���db�H�zT{�+v<���ڢ�2>f���/��Us�"]����e��3��*���=t�w,�a۷�!)�_���xoҼ�3���ы%��b6о�}��	��7#xF�������3��ڋS��o�G�?v�2�o>�if��`Vz_�۵�cv�+tF�E�Ե�)���Řd���NF�K��%�O�oͪyG�d�yV�▷:2+�3o�.�T':s�D�@��v���	�Z�����`lf������3ʌ�S�ý�I�5Ŭ�c��Z2�c�<y.&�;��L�Z_^C�s�Nټ��\L���Eg������;G!%�с��
T�L\`����@�)�/����{�v���	JpO��!��`�\�k�N
����0�Mj�O=,*�gn���>�m}�����X�uxǪ��7ױ�-~gV6�ە�9ʤI�0��q�y�r����
��ɐ�Y�?Ž��
�N�]s���.�s���@y?��	:=��7����z:�J�6��Qe���!�?skG��.�¶������	��n���X����bf�Z�-��o�p�|T��ӆx�tIb<���6B榢d����ʢ����c�ߡ��}h���(|�H\���w��X��	0��4:�\�\%Yu�Cɿ%��wRi2�"�AQ�dҙKe�����rۋh���\
�5��<��3�c�رw�s-���f�b�j�TqM	Y�g���0J����Y�\��c
����t}v�W�'�w�Y6��R;�:�V�F�w�0��3&j�vd���L��I�&��Ļ0_�L�@0��t!&�/�m.�k�{�ma�ɏk����A����X��}�)����k:B�z�o��V';�g����J��e6���Գ<�)��e��W����h�<&�A������[h�<\Cn���"B-��1=(5zR_�\�0��jE�xd.Z�^SQ�賝���:�6���sx2�/��D)V}�~��`�����v�ט�[X�r+�K��N�4h�>����q��.�����W��
�o�A<���b�w����
_��j��GZ��j�JCCƹǻ+;��V�4l�	�:љ�k��d�su�<�y{
& �<f��3g�� 񖙋�j-)���.gSdFM��Vr��
Bz���{����^r�O�N&��F
Y}^m�=�Юp�ׯ�p�9���
7�`���M���W�Ӕ�K��:#b��F��ٍ�$c
N�,cH�X�X-������A��TDp�oϪ��Y�
'{�g��	&f�/c���¢��;�+E���c��
��z��+5M��<��e�3�3o5��
�`L@V`	ȑG,*@��dԐ���3�1+�f���d��<�aC�q��D&��!ͥĺ��=dc�Lc"��X[^>��,ڼP
���=vq抺�	�?(��V�--�����k�gu2����_]?�xf9���%���Ε���AS�*/o/-�';y?Չ�jg�1��Ǧ�q�3���N�����j�v����w\i2�l�'�m��ǎʑ�G$��v���_��s��K��'ӶO���	��~���А]Υ�n�vf?(?���_1?��s��@����D���(��>&6I�-9���1��\�����Վ3�j�ju���v�t���j7�jOG,zJ�o]fiR_��/���ܾ}[���YŽ��#u�ޱJ�B��kf�M{6���5-������vE@(�i;D�CR���~�9��@�8�Ҕd������ʉ{G��0�=�:iy�u0V��j�X�Oy��v���P'�C$��Й�Ժ|2o�l�d�;w�8A��|��
Y�w��[[�Į��
��!�Bz���+��MoI��U�}�hj����g@1�����o�s��?�x68�f�5�ʙ�ȡ��K���H4�t��e�C$��c�:)@�@ك��{�Q3s9�X�vL2���P'�14dgf�
g.�i2�Rej��8H���Jzd�����Q��o�ɾ�{��ƒ}Uz�\M��Zk+ʤ��ds�f��QZ�k"9�{����
?(?��_?��s���@�Ik���.0Ͼ>E�e��ؐi0�F�:���\�4co�Ncc�LK@6zW#]��P'cf.�DPn�Ӝ�>
w��մd���'epH_)�:�4\[SFl,k�����O#��bi��!9C��a�v�G���Y����?��?��s���@��I�e�$�ftA��Wu�佣�}oZ)�5��-����N.�N�kڱuf.��E�v����P'�����c&A�q.�r����5e�sgd�E2e�x�vt�<zPӞgm�.5�V��O^�d�����p�r2����>���W0��N/�=(�{a�.)���Z�S%a����j*r�?�/�g�y���
�=W]��]<��:PPPE��v|���Do�K,(��*�?��vIi����J���j�;���wY��el�]%T�|��g{=2�M�`��qo��^g{��^O���S����<��3�~�ʮ_�տAo�K��6R�l����6�%��ی�b}<՛߹��d��
��2��	�e��.���
��֤���c]~!õ=3����45��.��7�~F�;�i��2^]{�3�������xu���5|y��c�9G�9N���$
��%�_��5�s��^��xo�,
r�>s�w�e��c�G����b���:>�̍�_�qo���z�9�<]�y�%��:ʝ����"�s��U�^l��l�G)�D�s��(���

�V�|�2#v1G�j�1�<F�L-�	I@�p'��\��Ǧ�N4Wo�.�G,�d���Ԓ�虹r�M��"7]W�ESV�^|��͛7��Ӳ9t�l�w��s5���i��N��]0V
L vd�1k�ח���~V�3x��w�qp��w���#�9
�$���UA�@_�n���z��I2�9/��`ճ���&��^��L��&
�{�/@�@�@o�\2v�J�-���S��
'��s{P��\����9��ol��w=<g�~��;��_mE9��qb�"ϘX"�K��a���F���}{A��Y�\N�g_�'T.j����i����I�]
c�)���7N`o�;���U�<L����X�C��5��".���޼�IW��$�o�>}b_�o���
5J�+9p��B��M�����wO�cr�E
��p�7�r���-��F>7'k.�YnG�=�	��@��>�2	X���O�̬�k�;3\�M6\����?�y���|�k=�g���ᾨ�"��5��IPg+9�5T*�8־�O'@#Aڡ
xO��c����[s��q�)x'p�=_�(WA�_g�Z�3>q�dm��l��Yφ�6�[��NK(>�Q"@#\���d�����<���V�~W��m��FJn�'��"����Q�czX�8J���?��ԙK�=V�,*��Ȏ�\d����q4T�ݻ���	Ċ�g/���–Ȱ
���0cs�%��@v8tydj��e
�
f��⤼�;�S�Sc�g�x躂��(���4��{'���y��
5�j�P��9��"p.1�v��ESč׍�����Rka�n���;��/�����;W�n^�:�	�.��a�J��W�~
�s�7ׯ���Exg�	�Fp�<�s���2�%'5q�`���F������V���︇��P[C=9�YO.L�|���	�����M�:O�6�r��[��[��
g�A��r!b��Ho����9�w�/')j@�>�|Y��]fXwg~u|n
b����Xc�(�[Ṋ�6��g.
�f��X�5
�7֑u�d����
����/y����ɱDž��|�o��E;��!��6�عb����z]��s�W���=+�7��7����<Ӫ����
.ލ�)��zq�Wq1C
��K�\��^;����b=�
�׫A\��Q��"�|���u���4�	޹�c��}�9��y�e�<�l�)��W<�|�>��@}���K�=�}l�;��q&r��u$η�{YO��P���|ȖnV��ܡ�-Z����r��R�ti��/
�Ԏ
i2�ls�:��ꤜ��کNFg�M8f���#]��
���
kI���,��\�p򴍓�ƍ0+p&@���O�&����<�=���D���y
���B�AY˿��8������LXJ�(���M)\�r���y����f2b��
�$�w�ԖLSk�
.�r����D��*�i�Ԋ�c���@9?>spm��U�g��Sֿg}9Q�4�f����8A+���N�;繺�_�29�l��E��'P&�X_NJ�
�)uy��y����×/�̉F�I	:�xPf���x�ݸ�u�c'<5�A٪LN��cM��;M��#�s������i�:s�I
�2$���d��(/|O��b�}��;�4.p	���A�'����\0�
ʥ�i��L`k֯��I��x�Kݩ�`�d�s�>�����7P�׋iAU�w�w+@ژ����
�)�S
�s\sKB3����67_����xO0f����N���?Jj\|7
��Kg/|R�\Ê�(��s�uP�QZ>B@?\,D�=�ր	�Xt��|���e��9�wkf)�ij���e����@x�W��\���T��4�Fs�W��
���Z��{���e��u���4m�D���C2q�yWe��+
�:t�=�H�v�)��Xu�!���|j�wA<@[
O��k��=�M�N35]3����^�˨-h{�x����rՙ^���	�W��@_���P�
�Ḱ���	ĉ�`��/��2'|���m��;�Ms)�K�,�w�,������i�l'��
�
��ý���?
ʴ�(���eWoStA��4�A�YM��@��L0c(����2Cywٟ��
���
�e�Ӏ���xd��m\]P�s��u�e�r�v���ej���Gm�&v������I�կ�4=��똂�9�A��LGe|���
�A_�3�C��3��%�s���:�_���B�V7ǚ�s�?y�3��6j�ד��]Pne�{|��qP�-}\�,�rQB�3�e"
(�O7g��/�ʼڲʁMm�&eِR�|�P�?�%��U�<����20W�ֵc-HyW��\�c53�#�Iw�v��:Q;��wl�Hg��s�n�v��#�XK��
�ܫ2I���dŮ����r��I�y,LF��ҫE��@��	�F��
P��N��VgW��>�/������
N��@���	Dd���U,�&��re
M9��
w'����+{�A��4�
���(���k)�4幜���)�l#'r�D��J9���[reN^�9������
2�+P���agEe|�Ww�
ֻ&�}���)(S��_��}*ȓ����w��h�z�}e.��_M�'�z
��4��{e�
�ڃf�����23����Mv|GY���r��a!D^Q���B����4�[���.(��I~�jW�]�2�B��=�A�&|�2e�"H�+}"<��c
�\0Mq�/yeZL��9�ƅ帗�D�5��5�y��w|Qk�„[pd.���\�p΢�k�����n��xP|g=\Ʒ.��l��JC#�}�{��
�r�
蜤�.�2_{0s��(o��@��	��[�K�-����F0��
ڱ������dOi2=�:9�8�\�����:)@κ*�v�b��A��I�	.�CFK����꼮�\�c�cW��
�a�)�O0A�5e��EA���L�W�wA4�q"7:>����p�(S��D�s��_
ԸINg�s��� 8N��A���>'UQc&�q��
�4-Cy,�(��t�q���
�s�� �f�
�5�'��tͺ�n���V���LA�}H����zݽ�2ͮ�Z�Wp����|���2G�P���9�=��q2�␚������(3�('��;j�ܲ�	b�����{Y���<(�ǽ7pfy�蘯Cq�'���g�w�\��
�S��Z���L`{U�R�v��8�)(ӄN��I�L�.{��+֝}��PD`%U����v�k;���C�Q��Q������XI��E���
*�{.f�A���]Pf�(���g��(s������ .
ۂh����$��5����ߎ0��b'r��{�d鯯I�����
�f�=M���`���M�xq�"�k�d������J�<f��eC�S�O��4�ud��g�`�����/8�)�p)�*��T#(��#A]A��hV4��B�#W�@؜�a4����0�s�;³
���4m�R�DM�}|�qb*zA'O�0D|�s��
���y�0>sГX56�Ήl�
P&�:�U��)�ϥ��	�;�׿W�rF�9\�oq�ue֗��Ɋu�FM-����&���2��Eo?y�X��7P�Ħ��ww0�狦LM�rB-�m4
�λ�ݓ��ɜ/ʑ�w��Ls��;M�Q���)3YAcA��7�
�e֛�k�='h��E�~
�L�(��ql���pD|V�Ls<ƔQ�S�6��2�^oX��E��
P���
�N���i��x��c3�c�Zo>�3��m�2�!�W�D��5O��$�y��)����\pN��ׅ��dY��
p��;��I&��ru�ly��=���)�\u�r�2������fh�#*ˁ?wˈ��$_h��	�[9���wlt�����"�ry4W#3����x����ک!��j�/�c#
{<f���"_<�U�qdR�Ƚ�Șd������	���EV�n�$4���5�����}�Zʚ����Ǖf8ȹ����S�@��,���렏@*<A�rl9zdi����^��D�rdSf
����G	|�$|�(s�@s��wN�\Ms�v�>�Y�2W��Bj���ߑoԦ��E'$��k|ӟSPf���}����&Z�������+-^_��)��)3���5.z�ƿ߂�ap
�[�{�j�N��;vi�����ɘ:���	l�
2�@�.r�����G���5��
/5��w'(�:�����n�}K�]�f3Y��Ԓ	vN��K���<�3�;���y]�_��m���w���o��:zq���Bs7��E��=�2�ϸ����M���A���w�̭Nחm��7�J��$x�KК�I�!n��F8s����,jI�xV�k���n`l�(��8����J�d:zeZ��-�/hnf�p�ྌ�8;�P�ʚZW���Q��O�������]N,ڊツ2M>UAA��[yUl���ɗ��+\j��Ϣ�L9e�	�����E3�r�
P�ʖ�]�8W��AAܟr����\ŷ�d�̪F�?�
:�����r�GfL֡�������$~qk���2��~�BC2��E�&����@���<>��<�s�a�	P���;�P�cԔ�x���`_.\���I�BM��f='(�mn�߹����c�����2�o�z	nA\�9c[���\�Q�)S�<��|O�ڽ_�~wKHlh���~:ʧ���A�
���(��> .v�@���g�,�Qcn�
�s��m�(s\S#��q>�ŋ�ǹKB
A����/�4MY/�c��*=^A�'~
�a�N��G�B��O���[t�9�T��L]	�s�|��2)q$��M-yB�ӑ+��T����3��S��q���c8s1�X�;ֵc��J3V��Ԑ-5�����Z�Ayvꊢ-gZ�b;����X���q��Z#'EN.��΍6(��B3�'F�&JoA
�a�@c159�3��#v5eLN2�ڊ�ھ�9	����͚��	n*�Z�{
�����s��<\��8��YlLJ
e%�rq��`IS�'?�b��RNP��$@q1����@�2�Tq�OM��w5�M�2��Q�4<�G��B7>��iZW��2��Z��Z����{PLA���j7����&�#(��릅���Ps5�o@�.�	�M
�D���L���?��S�/�����BY��L�ϩA\Q>)�4a��ky���FP�X
0wqH����Zj�A_��݈��u��'���k�8��N��^4��:c����Ņ0�@�|�|p�S3����1V�L-|%��_��L��u#JV0|g�)��ą�Vy�����D�^���t�de֓�b�����:L���I��8��HV+a`�7_�
����}�!������so�4�����'��tR`C��d�{АUܱ�;v&���\m�	�vHi�1dMS^�b/��DހYi�Lc�d�sR3H�@Άk88{�3�L'3-f�q@\QNq��A��	rF!�h��E��q�8᳎��h
,Dm�W�|�u���U��GS25Q�����|0N�
�?M�|�Ǡ�^��4�Sc�s�@Wg�񙃉�k�`�+m�+�e
en�����L��:���
��ϭj�`��1��������zY��nL�@K��45�=u�D����k��x�����CTp�m|��D��r������Ɔ�S���	��@��≌�9A�o��DK��.���^�Ou\Cp��;��u��/֍��a��Q8V��`�x#(P4�r���������X�~Se��\,{��(|�F�����Z���5e�<`y����.nei��wj�c�k����Lʶr��,�
���Ǟ���'�;	����h��h=���z4��g\ppLPyP�����_K�a-/�֟��w�יqM���2vᝋ"�mZ�8�hݠ�ܣ���*)hj
/��4_�КW\��|���β5�t��\���^�ݝ&u/T�"��K���0����d�&�E;���$
i2œ������{�n���F�@�@���C�y����BA�
�/�j�fB���?��s���3�����叟*��d�2��br���W|	���p.v6���f�,�;_�ޙ"=N���NJI�մ�	Zӄy�"�]��\Q��5@;�w��Ԟ��-����Еy]Jɲɍ6:�Ϻ#���)�v��lSK����R}��/5b�r�2�S���~�9�瀟v8�	��=�}��I77y#$��g�)lu��?Nq6pU��I���Y����sK�sMe�o�eޝi���2�j�u���=�Q�w\W�V#DI'��(+>g5�2e���>��
�!��H���i$﹌��|f���$��eҾ+y>�T�PXʟ/$e��2�qh����/��:+H���2��.u�ҩ�W+](v��բW*\-|���BW�\.p���[K\̵��砯rn*�U�Mž�P�ZвW��2pv�[���n��=��\_�eL��6���H��C�5~�9�瀟��Y����5�vܤqR'.?s���2qрNIʤ얤b�.I*��];���uIȫ�3�k/�$e|;Ŭ�R���+�n	\S.��Fg���c�so�{������ɲ�ȸ�Cd��>2�F/|����M�_�"��w���;I����w��}w�}k�̺5I^�5�c����OG}9���Ό����[}������;o��U�{|�vy�����˻~��6�����Z}S�o�o��i�m�>m�mЧ�W�ZU�P�@�T��K��Ҩd��
J��R�x�Ku
4�P3O���4��Z�W���R�W*f�y�l`��3U��r�jWKe�z�DƊW�d(w�P�RG�X�\�K]̓���ܠ\ɋ��B�)�aO���ϙ����瀟~��s��rh7���IEND�B`�images/admin/rsticketspro.gif000064400000004122151165074560012335
0ustar00GIF89a��A�6:�/s�k�b�Y�~�w�̔�˔c�Z9�.>�2L�BI�>J�@K�@�d�[F�<���&�A�64�(���>�3Y�OT�J�?�5�ә����<�2e�]Q�F?�4C�8V�MF�;P�F*�*�,�!�҆"�=�2%���᦬�`�X&�O�D�
��"�1�$2�&B�7�����\�S�
A�5Q�G��ʟٚ�z�rA�8���A�7U�K�6�-L�C�Ł�փ�Ж@�6n�f7�,�Հ}�uL�BS�I}�vB�6I�A����f�]n�f>�3�υ&���ո�����x'��ۏ��y�㬑Ќ��3�(d�[����Ø_�U�Ӥ?�47�+6�+���b�ZC�8?�3I�?L�A-�!~�wy�q�R�GZ�O��ޗ4�(8�-W�O�وq�hL�Da�Z^�TD�;#�4�)(�L�AH�@���������ʁM�E���S�I|�t��ׅ�t�mT�J�۹�Հh�a������ςu�m�
+��ϋ�ԃK�C;�0\�Ta�X\�S2�&<�1C�89�-u�m[�QX�O_�V.�"O�F~�v`�WC�9���������T�J�~�wo�g0�$g�^5�(<�1q�it�lQ�Gg�^C�8R�JJ�A.�!Q�G��'�N�D�D�9[�RG�=F�<8�,�լ\�R�֢V�L�Ԛ�D�9�?�4���!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmpMM:InstanceID="xmp.iid:F4E7BBF66F6511E189DCEDE00DF875CA"
xmpMM:DocumentID="xmp.did:F4E7BBF76F6511E189DCEDE00DF875CA">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:F4E7BBF46F6511E189DCEDE00DF875CA"
stRef:documentID="xmp.did:F4E7BBF56F6511E189DCEDE00DF875CA"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!��,�ʼn�*G��#3N�m��`.i�ʀ�ЄI�̮S�Pٖ
N�\IPM7\�7g�x�F���D$�rҴ��tHD��	eM�PcV_>����ije]Va$��6�ƜJ�AZ�@89+�b�
.���y�G)��#��Ú?$	�F-\�vȈb��Y�@1��b�
S�"���i�+x8�Q5'��Ee
��$0IJ0,�"K�c���串��1�)A�fH#?��p��fG2`$�M�*=h����XY*�B;images/admin/rsticketspro.png000064400000026156151165074560012367
0ustar00�PNG


IHDRWD5v�tEXtSoftwareAdobe
ImageReadyq�e<,IDATx��}	�U��WGwϙk2	�O
@QA@6,�"

���"����_<Q��C��������,ry	��p$!$$�d�陾�}�{߫z]S=�s�	��]]�������Y?~�F��g
�,����ء��Q��2�	_��g��M�$�{�<p���=��=�9�,���_�^do��Kn�s��1ڎM�JLua�={a�W^�Xb�%�}%�8��v�hg
�;Q�]j°~�@�|�qo[s�g��^��O��F�?ķ-�Xb�[�CD��h��8�o�կ4E�,��b`�h97Y�!�hp�x�Ul��h7��j|c�%��(���B��2�6	
��P��i�]����m�`'lp�.8	,ے��1J%ъE��'z`
�m��#�u�Xl�w�p��.�oc,���Fc�SE�R�˴��k���)�88���>E�ŜhD�EQO��jx<ӤUt�}@������,��v,[�%^ɻX���#��Xb�e�(�F�m-sb�Z�[�%7
E�粐�础�c�Ze.-�/:��J�e��L�l��΅d�k[	�6�>$v�T||o|[c�%��\opw���RvT�&�um��\&�l^�*2V�B�Z��&k)۪b�b;7b�K.��8�3e�U��l��'��́�t
!@���] ���b��Y�}.�������E�[@�>�
��,�;]7!_d200��\.H8�
���
$v�q=e�[�ZL�S��K�l�8$��E6Xd�
X0�Rwr}��	������}�ؙ܃���K,\�$ڟ<N�
�����B�P��t2����8��?�+���x	�@�#��g�F�>���]�V+�w��=�%����:�~j�i'i�$v���Xb�e����D[#`Б����j��1A��/-Sn��%`��|b��pb���*�,#
��c�u�b��dö�2+e��q�tf���7Ψ�iJ#^��%�X�����R��e�j)�C�=2��.���
�H���"����綶�r?@Ÿ* V�J�U3\+��d
C��p�6F8I�"��������P���[K,�L$p��G4���oXs�<�m�l6'AY��F��`s2	��j`��t�\;[�``�(i��d$
����)\[��j��ԁ�G�-��v�K,\��V'�@&����.��	Rm��&&R��V����ԌU⨭��%+����Ek��F�Y�`�8s�|����K,�Lp�Y@�2	Y�քY���;!�
���X�
�U:�����	�v���f�vp����L�d��_��>��7�ٝyh>��m�>q�u�-�%�X^Op=C@�G}`%��tUd�Xp9	[P�
�v���d�����Ok�?����7���@�	�-:?��`��Ysv[f�;��IG6��Xb��ה��K��AT��:�����[�V�X��kJ,V���3g�����m�]�3�S��BdY�g�`�*�i��;0(+L:�ȼ��+�^�A���/�u�����%�X�S�#?~hx���5�h
����h�I3V�W�%J`�X{���^x-�<��ٰ|�
X6i9,jZ
N��^ؑ��R?4&�E���_ſRL,�����絛�ud99����>�AÒ�zV`���d~�Xb�e�ĺ������M��Ju�R���]�����R�5��aWd�tĿ,�¶�+��q)�:�t8��d8l�J��jʶ���D�Z��oau���N����PL�^��Wqu�*G�@U}�U=�(f�{�^�y�N}�
��q��BG).YK,���#�˹��DŽ���~�	PX5{��Յ�b;t���E���V^'�\s��B�N�c
��e��S�S�g��`���s�O��}�`z�Ea�$�A���*�*�
`�d��
T%���/�c���D���^?��%�Xƛ����#�cr�‚+{�vP�;���g�7�fe�t,��|g�up����~�Rn�|<��Qx��e	���ֺp���j��YG�}�K�p��}�'-��c1_�����dv�*�"�.����b!���<���m��]�m��}�+Z3��-Z\C!�X�G�6�^����fp����W�����]�0��B"���(�{���Y��*'�W{��KÏ�������/��~�*�ԱRN
&%'A�IJP����@��g���;����|�o��5-��WR�UF̔���
�h�Y@�8�(��Q��%Ix������Q���E�@h!1�UW
P�&lm�h����D;O4�1�ZJG�p�K-�*ڎ�c�E�:��c1)��N�����D�$���$b�cE;��qP����GEK�p
�T�_���f����uF��h�����T��������Q*�e�����!��4N��	
�j��7aI>c��I������q�1K���������Z?h��@���h���b^��˧/���?,��P�Lp�}o�]����+�j�@T�uQ�U�WZ)�{cU�,��`Oq
�Z�՗�u�2��Ho�;�y��~-�wE{��������}�}M�o��O�s��c4�byc�4Y��8�:#a�7Ѿ3��:���*W:d�Ұ����.��Ӣͨqd��й��"�~�mɨ����_��JI��R�Ul؞���:��l��X{ڲ��:ѷG�|�P!�8gR0��g���;����<:�I�\7���:8�O'ÌE%5Wi��Բ�J�.���*;���j�ݲ^��4.�?y`c��#|�#8S�?)�ǩ�2ľ�R�,Z�ƾS�P��c;�b}�z3��x�$7��{��@}�h�h�y�~�Z�~C�wl���Ӎ�	z�Wc[�a���Sӓ�X���*��N$��Bې5>j��j��/b[%�������a]�E����D����E�
�!�BW�\�ir�%�?�$\"��c�dSA�l6/�b�@��!dU���7�s�SKT�����%X6m�֔V��T	����G���r(��,|q�����]t��t<�ʽp���y~�B���+�l�Y�[�$ث������U����i��V��{x���tb���S�_}�����*}ԉ���^b��O�-C�L�Bۖ�&���ym^�p|1��Tb(5
j_�׷��9Z�$���
�������֟��`�	z�q�1�7E���h�o�ɻn�:J�
�Od@�-��S51*���������u���N/{�[h��ZN�C���^��;��d�d��_Y>i���*�K����Ϟ�ַ=%�����a`{�]E��XF}W�dL��wo��כ��+��zP���`��!?��6,WWh�z/��3A�%W4Y���g`��;
n�%��
T)�oUV
5�i�����p�+>\����o����E3�'��/ݦ���L��L�褹�&����1֬��.Z��~m`}Y�5��+Ul�����-�u�����ˏ&�b��|�2j��Q0����J����u�2Žܳ��\��K�j!Q�V�
������\��oT��%'’֥�r��=�<�i�CPv�0[�e�շ��V��OPJ3H�N���6�7���RC�ӡtk*��{,H~^�~�l��D��'D�G��������4�z��T��wvı	}��.��Q*k%A��}�V��ؤ�U2�D��l`}2b@��h��2��D���H1Ğ���s��q"
��yYB�7^��I�2�|��~0�5��ܢ�T�~?D״�hr=���ю�s��4�Jf�{�/�?f�R�T�\V�`�)7+�\jh5�g�T�iʮ��M+��Й뀖��)@+�P�UH
�LF\�i��a��j�ON�[��{WC�FH��S�Y
�
�(����6W?i��G�mq�����žҺ1z�:*�7�켚la����J_�J����������ئ*�n���������E:7�����GH?>�kXL�Ӕ�����l�&����(��#�̽J�*�T�e����ﻳ�3��L��`
N�߬�o{�~��%��"���@y�%d��K��}�X��Wj7�ca��7���r.���<#d��W$B�Wz������&�����I��w���WQ�F�~�k4�ri�hH4@{�҅��jmh��U����Q�ݸSm`�iA�X�c��T��-K����VZ��U��>q�f����ކ��J��I:��@yw�5\�
6����t�Q�/�Զ�'S���1����������k�Z�c�"@�5��n�����<'��Z/�b�9���0s�H�I�z�17����v���P�+:�>K�)�q��_��Lh�,A��UẐ]���}�DL�ߖ����0��!c-�2�U��*O<Ho����
tLX	���`�	���i��aS���,Y�Ńl1+�յ2.�rղ/���ޅ���Vր�R������.0�|�W6�M�p/v����*�a��4p.Ll�!b�3�	�K���OL�VÆ<@�l-��
����k��0b�#��B��*3��m��_Tx�*��TӉ�-OT�[�T�j��#cf�z�|��gʼ7���8�j�߳.��%�J^y�S��ܯ��əōTTEvT�L1#��0��s(V����[4�Z�bJ����ٵ�Y�e�w��-uy`��*��nRR��KIL*Ik6�[�X�i��ZA-YEj2�e�	2��D|�c��g9bWh���ؓ`��i(Y@,0<��5�M�hO��)��j�bGi[g�?�o"�i;w�����j8��`w6��Y�?C�~�rO���^�h�mp-��1�,������k�b���vC���|O���d�R7J^)p^�S@��c=H8	hm�!cg5���y&�U��U\nVl�S0\�a&��>�^��;�i�ݼ�*tTE-9�#}���8��������5g?�"���z�0���_��"��
�X�8>R�O��v}�—�r��d�y�u��TP���ߏDLH<4���8�Q�3��7!SkF�!K�s
�Z�
f�Ǻ�$�c_��2�����t���/���]ؙ�!Y��Zfc�����;�VL?~}ν0�n��i��E���4A�C]ź�DP�*����~U��A�B=a`�V��h%�1zh�R+����y�쇦���P�v��"��j�DΘ:)�I\?���I��(�+	XG���Pf����M21]�e�Fp�n��ڄ�;�g�Tx��2��"���On�],��K��<��c�P��
5�5p-���?��"�披�(ּW�s&�j�%T��"�vc5��L%�u�:X8e���Z(�(�ˎ�,���ν�l�b�BK�4��rL���EH�N����2��ԛʭǾQ9	�/3^M���Z�@UZ�Rp�U�WWa�x��SC��s�d��BDz��2P�����ɡ�F	�Z�|
��U�E
?�r6]OXZI�4��;h"�8�׳'J�����U8���=��z3�]m|M��x�Q|רc'��Z�)�\=��0IF~vԧ���Fşײ������Z�e�;Bg(�����v��U�����J�E��Ϊݶ�Qd�7��x�mg��/�ruT�kaG^�g�8g|o�k���l=��??���TQIp0����1���*�}�l�g��zG#h�;L^��<��@o4%'m�WV�}��0NV'���?��O_�v�e6���I�VAs@-�������#�8JK����L���9]�SHW�bA���NEV�K��K��T4�1�:�U��g������'/9	�һ�Sa�4��0�R�V�VD0��S�*��%�7-S֒j_M2�^1.�T2-���D��#'�&`p���i�D��]�B��[�>�^�Ɖ�?�Wy>P�!��O�9e~�54^�f��aLĵ��A��
�UH�'�S����
�h�����4K��S���
��X��V0�k�אSʉ��	}�bP�J2�`�cAI,�2TVX�xY/Ë<;���j�v�/��3\�A������^:o��	2p�"�-��]2,���}�=ue4Ԡ>L�m(���yz�5�K���am̬
�V��"�9b�"1�a�R'�*����+�U��yYhM΀&w�Sү�J��gM�0ceA�?7��ި't���j��4F[F?�
�$����zQ�r]P�[���s���b��.�E��m��(դDj-V����,
��-h[��v�><?��N�ǡ�	\7
�ﰸJ{��B���}^*��
�~����9�16c�+���'�q\64��jfl����W��D�����$h6�qMv�b��e��5���4��dV�����t��88��2�
�B�G��lPCV^~��cgsEfyvH�@�jF#���j�*����~����v:Oض�^�'�n��,"̾ŠDO��y�!��%��,�sL;F��=#P���!�9�����܅�X��3��0��C�T��0�E����E��>"Zf�s_21`��/+�A�G0W��
y��܍��J�8U�μ���]V�����3�B��ࠑvE+�
W��ʘ�_����jhٛ�SnF��95��ձ�Hr�)��u�D+����
�a
f�,ދ����l�;a�������<�]����S&��
VZ���y�CɇI��8�V��!6���Й_+N��N"�
�/p�LN�z��7p��$֒Z=RYM�x�%<��azt8�G��*D�it�D���˯5��~������Dnır	��C��K1�X�o��/�m��z����ME���W���1�rF��ٶ��a��Y�	��`�Wa�2XIcxx򻊛�y�$��Ƣ����U��K`p��_�p��ۺ'��#B�C�}e��#�F���\]��:3��ðd��Sfs{�LX$�Z��g#�U�Ad��FC�4��[�eSOT0k�C'��]I�J�v�2u5�jr�;-�3������`Iխ��(�}]^~�����L.������ڃ:(��l�Q�+#��/�j�`ٴ��p�aV�[���!+ô,[�b��*K{�o/>GjEi�%�Бp`��ˆ}�I3k���_��*?�L(Bt���ʧ�/�PQg�T-=ʎ~vpE�k>AXk�z�%@.�c#��p��SI��m7.D>�$j|��cQ���W�4��&�+
���!d�{�6,�kL"�4J\�u��ڶ�w�����f�XRŰg�Wds��v�_��e���o��
\��ޭ�����Y�X++^�#�fc���XH�L�z8���BS�;%��2��!]<X�K�U`�Xw���I�l�?Sl+m&a<Y�i@�U-T+�m��T���=��Bx̣Xs���Z���7���az�1��@*�o�{�!��Qd�4@V�ȋ|�A�a���쯵�ݐ���/6�\�ih,$G6ȻC�o$;"�s�qͫh��vHS��̙1���Azv��_o�p��At��:b��A�m7��ס�*SB���@��lЀZ^�Jn��V@���R3?ʸ4��o\?�z
<߾	Λs!��8���bN&8d�5�_�4���>�-��,���9�Y���[��;/����M��R�g�~H���GM3Y�K�M�9	�o-`l`��xWĺ8b�|+D�ё�B���j9�7�NO��:������l4��'t�����ի#9U��W}�@��i@��f�h@tl�^��öͰ�ab>��G��J	#U�Q$Aeg�a4�([0'?��VR�ך9ڮE꿲����)�������viH����с?�Ek΃U?y'<�kܲ����f7͡���Ys�VX�v�`zc�,�}�-�@g���)��/��4���	X��LSi�~8}�,~���"�?�y�~��L"����=�I�G��Q>�5wM�����c���~bc�����6k��2ο+ֽ}��g��
���)�l�W��L7
qj�o����H'Nt����������긮�~ڨ��@��Ve�(��=�S?/]]
�=�=�j�+z�Kef�S���b
�u��3��}�^Z{K�%�3%i/zE?~�Oz`�{��c��Eg�I6:�^ɾ���}#Y^;����*�|&b�dRk�A���0�dsXc��aU�f�0�o�q�i�8�&��w�M���iZ�}(���s<i��d���p�Z�';~�@!*�?ʶ?��XTj�_�sYĶ�4W�D''F[|�Wϵ����F�2���~�1�NҖ��z�*��GE����R��$�S�<��1�k��($KPh+����%�6l��)�lwe:%p6�&	v��"���
SBY��(`�AB��_v�
�?�n#�Y���k�!����90��E�\:b6F�M��������f��0�ǫ�c8q�/��+	.
�׊�e�Q����/U�{,�:jY���2ҡ&���j5�.E��$\���3�$�[/U(hih���ð0�d�e����ңQ�B�`���}��릈~��c�չ0�HR��W���;��TR�)t�l�5�8���׃�����6�ys�c�R��~ȥ�l��5�Ɨ̂@�wt�S���ق�R\�5���q�2�I�P-s^�R���|ơp�i߃��Ɇ13��7y���W�"|��oÒ����k+7��ƫc`5�[�ȶ���`�����'��R*=
�����ÿ�#
h�XF#�I���^���$.i���5�l��^|�^m�>;�r!ח�W�(LK-�B�,DZ��V	_-���Z�~�
9ӕ;�ۊʞkf�:��+��ES���f������|�
e�
A��e��h��Ns���[��L?���oy�>��T7�czLeL���F3֬U�%�,�lk+.�ҳ;-���D�W�l5�
(�����ղ��)�`\KPܭ�L�5���6�\Pl�=�΀����\!��n���_ɾ�l�XY������#X	K��}]�A�S�0�y7������������%��d��`�9*{�%�@k��jVВ�٤~Sl,�b�9���2��)I+�R9�Q�B��5Z����n]
�I��΄:�N|^*g�<V�*�#�$��w�k��D*hG����X�u���k��َ�Y��w���&�|l*��*��,�m�v�A@��-��`��V��d����4#�]�\pP3T��\e��K�`����U�Fx�}���x���7rW����X����Y����
	`yO����3�Q����̌�E�9�҂�%ч`����\�/x
Jp�e
uIC]����T2T������F�����X�	�F��Xc�%�qW#��X��%^��~rJ��A�r���d
�����dFqV
���+�����(K0��ܷN�u	8�3:��Q�f�`�(�<
ď@,��2.��
7���K4:/�&�dr��H��X~��٩&�,�B��cT�E�#��z�
pu���d�Pܪ�n��P��ac�Vu-��yr/��}o�;`X�Xtŷ?�Xb/q�Z1��i�-��|�[��Z���*M���\D$����w�[,H��Z��Xx1������խ�J\~���rA�z��](�z��?�����\����K,�gB���$����)۪T�h6WR�1-�B���2�Ǫ�Y�>=
��`��*���b�:��Ga�e	>��hƊ��ܞ��O��+-a*awl�%�X^WpE*�Ts�uSR���^`"���(���z������5�w�-M���J�1A7X�����!(#�H��x|V�;J�%Lǰ���K,������lM"��lvp�V2�lV�g0Vi���8��G���tp!�e&3�����bP�$�B�V�C�U���sC�х׊!`Ų�{�[K,�Lp�;�YO�<�>"�i��jE��-��#��j'3V)D�|��Q���\9�0�
��z���L`զ�
�'���6��.v׵���M��.g�K�`ū6�îb�%�����	�)��+��Ǟ;�Ձ;�&VZ�`��S,C�1�`�R	��^��$��y�:`?L�f�2�˃%���6ېhu!�D���?�<��0��`�����b�%�Xjgхs��,�[2г.�u��e���ּ�����d�K{����)#~�2l�ܬm�v�)����}�nUFu�)򊗙��WbF�4��uO�����^9.݁�'{�3�Xb�e���kA�S}лA�Cx!��{M�V��imZ^�;�A;'@Q�[����Y0����Z�6!��U���۽^�B����%��ʶ����5���W�.�X��Zq����K,\���{}=k�w
l��nrZ��!�y�c%�6�,�E0V��6�^�	ۓL�U�j�u6�-������w�]���ͼ(
X�W�P����K,c.�Xtҷa�lM+�>���l<3571����25����������O�R,�`M6�L�����g3w��������z[*)A�/�����\��?�Y�-1ͽ���
�6��w�⺷%[�v���	�&��u�����d���ꭢ-U~�����sk2��̾\X�2���T1���!��K,���UK�����}7as��٩���S��Rs9�����N��`���$�5A�*�{i�����)u{[
�J��6������q1�����M��H�Xb��o\M)��]�g����ꥐm˵&&;Y��ut
Hc�h���P�]#��=�2��{�o,����&�F���z�^��!���ak\���s�R��b+���~!�+���s���IEND�B`�images/admin/staff.png000064400000007115151165074560010730
0ustar00�PNG


IHDR00�`n�	pHYs��~�
�IDATxڭY{t�U�g-�q-�r֬�,R���x��"��\u���:k�z�"
��PZ�nӴi�&i�ͻI�&i�}��4m�ȣ�#M����K>͊����Y�o�}~���9�KY�������͛7CÉ����z�BQt0�dH�0���XwO�[?	\�Ō��7���ǎ{������bP��x��!!
(�tiiI.�9rd���۶m#@�������5(�$d��ABgaa!11��g�ݵk���^{mϞ=��	���+(@
�0�a��e�TCJJ�SO=���/c1�/�UBj0�!��3k��t�z���۟��^xa�Ν��C�e�������7n=ztÆ
X`ǎ�=�܎�B
&0�9��
Ch�N'�߲ej♠
��e�m�'4aC���JXu�����k�ڍ7�;
�@�nݺ}���]�`z5(��I��	Q�k��P(|��G	4���~���Ç��#""֯_�iӦ����!:xy8�I`�9��C�=��y�G""6�ٳw��
[6�����<t��#$�ɠ��!&�j��[�ڼ�0�!��d����~��X�vp'��'�yc�������;�t0�dĦ��}�f~�~x�0�!��dmj�@
x衇�����j�G�����4fƉw�~�O�f#�ظ)��_��o�{�V�IWE�t;�Yuᥝ��pr�@�u:��?�a㦨�6R;^�:�J���$�|L�'��&��迋b��oo�����%E��0��^{
@ı��Ҳo��͛#�y�Ϗ�$x3�Z�.���t�yx&�)��Z�p���7�z�h�}2"�p���w�����ˣ�=�k^�!O��a��>ٔ9�B~7w����N����k+�Ikp{kc)���_�ŗp��{~�轷^�S�2b�z�H�%qš>ٜ�m��Z��6��N���M�H��c�	���*�
����@���W�L��:��}���6F�`��ˠ�Ә�f��5}�1e�.q�&~�|n�pj@��S��H����*Z@���%O��]��T��k�
�2����1K�h��Ѫ��?�N����Q~ܣ�hq�;�j���9����L��O=�zU��}�����C��C��A�)@��+����N񻃦30��w?��.�A��}Nw�~��`��=��U����_��/��~ޫ��W�qw�N�a�`��p�J
�7o�9�W�,C<����o��8ٻ\·�⃝��t�#{�?�V|�S���pt�wJ�w�����nU����g��_�w����z��'���C�&��\k��,������w��p��E�܁��K�_N��.��v�^U�H�����L�������P8�a����cjr�;��ٮ(f�_�`l���}��}�}��݃��+�ژ�+�d����+gE�����pX��Px������Rf��-m��VE�]fj*,��k���?�R�h�G�3~�����|���[�h�[ػ
*Z��Fn��Զ��ڵ��6<�mn��̪�����Dg���M�+14�
V��Il��ҪV[cM��d#�us+�W�y�j�njd�h�Z�%�v~�Ef�I�lRSSq�MYe��d�z8_��������,6ijxe՜�jNY
OS'�5��hST�:{Z=5��f
Ǭ�3���X�e��.w�$�f<E+�`�S[Z����R�M
�����PM�ĸ>;'�T�K��b#��X�41J��j�<HR�"��;�F�}���!Wg������������y�����VYU+�)�[�ں��VI%��44�N\^}}n-ߖ�����
Js��<��"���F���]V�+����f����ѷ�0�����)�wjʋ�k�0Y��T�e�v�W�o�j��@a���RE\�'��z����
~@Y;����PM.*&8b(���*���7�M6dMou���...2??�vqq�}Vos��-s��`��8�Z���^l
�i�������(��_���U֫_�#(��)R���Z��^�o��j��wjiqannn>(�`8�QԴ�M�H.�����Ѓ�A
�HSm��wc���ba�.�!��*�x%��H*P�Y�nu-��[�zk����:���}e�k��*Ѓ��B
��4��J-���,t��d�-�!NaJ���9�l>�IC��(�@���v�h�\}@1;;;t0�����
E�FpHVi"��
y�rR�:�[��Q��di,	�u��&�
���r���i,yW	�r�{�>�����-�-��Iu����pS��	���
I9���/Mg�<�)�D��ߛ!��G,�0�&L���Ҵ��L$NP�+֢*i��ܩ*���>�_5um,U5@3K*�
5�&�,0��Q����y�.�'���λ
�Wb���żL�_�
�d�ae�T9Ej]n(P��H��S��0�Pf��9t��*�S�:�H�-(��ʯ2$�4�jQ��2YVn���PCqٹ�82'.�{9�(�.
�#O�5O���᪫}�)�̏��<M
vMf����7�{��
Ux)Op)�w>�ɐh�VC��D��J��f���s�	�E�?�.���櫈��C�'�8t0,(6�����$(�>Mg+SYr�#A4��d.<�K�'ӋBg�j@�?M���_�,�Jʃ��L����N��P�H_&7+���@3���&��CVĀZ�:I�+4�%��"��ł����Y����?��f��}
��Φ�~b�#s�)�UPŔ��d���V�����36>VP�`%�P�’%�4���.�p�g�P��+䳩ԱI諸^^=���E%�O�g�L$�N��I������͂��\^B��J`��;�!��*��ƽ�IB���4�Ǟ@�"�Kb��b�M+�>��|{9;:)w`xlU]�[uiLx�'H_]L�.�LQW)�1�cH�
<>��:@Ĩ�l�&'=��|�L�
A'
M�T��)�q&��O%偞�q����ܪ�g���d��I<��
����h�O�?�F;�Q�/�=P�$���L�(�`H���p��"�#�g��,�*�Tb.|~����$�H��0Z��E}�ƍ��~_z<6������e�D'�*�
��D���U�i��s�,�TĀ́`NiJ�9q)�Xlډ�<)�qc�nEM�í40�o0W����Ĝo.eֱ��'�A��u5�#׌�&�6

������ܯ/����:��O'�s�ES��B���^��n�����wwu544���x�
;!��A;�B���e�4(hC�1y<>;:�!�gS�c2�W�̔|6�'Q�����:��O���7��m�_-��ydd�����t47۪jju�
�ެ��$JuEuM������t0�$^AAc0C&0t9pWpN��?��p���=:KKKp�+GH������v8����0�WP�2L`����R���/�\�s�KGő�IEND�B`�images/admin/statuses.png000064400000007761151165074560011507
0ustar00�PNG


IHDR00�`n�	pHYs��~��IDATxڝYyX[�u�~���˗&��i�N�v&M;�LZ��4�t<��6��x�`�`�
cc�c�H
	�"�	�&@��?mHhAZz����a;���{�9���9���.Q�׸|>����,{]�~�׿�0�-2�E�E<������P�+j-%+���'�q�i��1���Q!Ep�"�
����ɂ��sHV��3[�}��A���PXQ�4n��6��L&�J���)�p:א��gsY�E���t�[K���8�zEw�e��|kY+�h��^�T��e����+^(�,w�7�%��"���g(�s�
y|S�Ȕ�1d��'����gwQ�Ej�����`�K���w-/
�jгqO�3���"�m���k(��s
׹�k}��>wV�3g��ٺKS�i��P>�-����75.{\ASy�S��*o����͝���7���s�%<C)���
�4�AiLU��Cu�GT�ʄ1u����܄�̸�K�6�=3�>���D��,:�Lޗb�z	�����y;�&9-^x��ߜ�op�el8��<A��d{h�]������h�{��
@���Leʨ�Ĉ2��Lb��[9�����Vi����^`!�z���>2,�
0V�hKf�2��C��+��-�F�l�J�����썠`�0
�^��Y�(aP? ;<�H
�om���m�HL/�^�C�Ď�K���5ųڛ�+=�h��pE�
U���"�Bl"	6ix�`(ȳ���%��'��_�+��C�Z9����\aL����2��8�s�~2O_1�*�֔1I���
D�&�7��-��M��
S�ƿ�dm��
��:�`l������H���%��-����Jb�&�D��y��Ax_h��S�F�r�,e�l��s6��}��|��|������������<���k�+�x�`��'�
0�
m�q����9��8����U1�~L��q�ob2$C����c�k,�
������6���2�
��_�3?��88��t��/Kn`hJEl����,��̟[f�������ي���s�ѮM��Q�	���/!rS&��L���gw�M|�0��
}^>�v�E�JM6I%���
�t"��
0�Ʃ����7L�	�ވ�݌�����q��,��W�;*�u@���O�J���Y1��\5������O�Y����+��dK�Y��˨^$��{��v��5�O���緇>,�}P�5��zl}sHu��)
��4>?M\��:̄�������??��b�������[Z����u��C���沋�߫YW9�?���¿U?�T:�A닛��5H�F�������9K�;9(.�f�o
~x���'(��c��Ӱb���
3����%���������ɗf�v�k'p�n����5��%%�0*4�Wi�V���E�=�y}���#_��_��}������-4���Y�#>/Ry�՞�(�~��gvXu�n0P>�U�x��mA��6�$��6
,���fϕ���j�{E���Q����wN�=�ײͳv
��_�{���̎����+��>n���V�|�
�nF�en�caI�ι�M�Rx������%�{>��K�wK�I��iѵ�X{7��PT��:�����4��T%^.������2�UT~y-+�|p+n*�c�
�SP5�?�N6����_e��l�e��w�숴�k�Y�]H����5f�\�QĶ�>����H�Q&��n�x=�X�l>�}��}�8��m�ֳط2��g@�~u
��n���*{]@��	��5��@��d��g�U0u�����W\6�l�5���.�O�Nf�.�P�NE��,�Nc�9�����u��K}����+h㨦xX�&s���F��1�]HU��@tzB����<��sw�ۧ�Z�/bƳ
I_&5�4�����S��Nj��|1�*�,�h�F���d�Y��,p4	�J'w���-�P:\oh��Y��n|�8�2���x�sÑ��+������d��PdzS�FC}퉾Y��٫���5�u�����ڮ9C�qQ��*K�Z�U33=v���%����_��C5�ſ�L�y��A|��;eU{5
��r�F�8�ר�D�����)\:@�s���K��0��]�c��P��b��r��F�<\}�S�ž�ae]W�q<��V���m�B���9�r����9�m������A����z6=����?R�v�G?�ۀy�9	���Y�v�*��w���ض[S��cP�+��J�(�.�k��u?�4��\�z�����Ee?18
o�Jy#���F5�z��0�'*eYP\]�D�t�sX��9n�U�rT�|`V��Y�J)"��nݼ���t�Kö��w�c�*U~�Ks��:d,e-��Y��4�N�;���N�-�,hZ�tv�g�B�}��ʿF�z�9��G�Q’.*a.��u!u����uuJ�|f\�4_Y��0cx���-�5ܣ�զ%�s�)��=>��.3�@K�/
obB��	�1����,���^�����-ے;�]�M3<1]4
/��md�
)�G9�7�%�Vm��\>��
JAp��mn�d[,�@�pjDbr��
#��	�ts�)8����R���a��|+U�T�-hm�P�o�}K������	��|��-��xIV��E��&�Y���/��_k��A>���)�&��p�Gw�G�h�L�[��	Sy��rxW�C���Oj�qP.m�)�,�VEK2����(��y�+�DN�<��U��t�����>K�/�Z�X�"Ih/��`Ƶ�%�C�����8�iX�T�*�����&�i��8�Y�P!.�x}�"��&?��|C���T�5�N��';5�H���m�	3g��-6��9$����?��|�m��*�Jz|��=A�$�)DM
A}��=�(z@���n��ǻ�$�@P
�sL�(��M!h��c��K=��i3���XK4�Cʈ��B��@[kv��R�5�:4g:������V�1��N}�M]/���F�s�e1�`�@$
�WǷ�N5�c��Is���vb!/V/8WV��ŕ�@W��>�^�FP��)O�{��(Vq�E~�ߪ<�$�W��l�F��R�HgӘ��x��m"��3�Z��XEِ�v�T5fhf�3�e�Y=b��H|��������:Qj�:�JmS%�q(��f(%��Y�VĢ�k�{j����M|@�A'��{�<��i��b�i�G��
��aҜMQ���\��p��?(�8Ʒ�p����)xUR�"�L�0�o�E7�4A���1��о��
�x�`��{ꥉX�~�0��W����v�n���q�?�D�LK�Z�jEIX�1��8Vy���^��F��6@{��d��C�H;k$�g	��~�]WN�2�?t�2�"���偕��#=�R6A��J��V$��h`J�(7A{�|�%;K�W=E�>�|W%C�j��XEn��F?\����{C�����i4�>ҋ�juy����
Ml�P��(#O�*QСFYL�t�dm��k%�6t��!��5�T�U�����d���"�-�Ȭ�
=�ɇ$��.�����p�,o�'`AiX�i\����ڔ�K�lR����]����$V���'a�HR~�c��r��ɍ�
�"����JS+>�$K����V�����m��v�E��r���:�Cu�M��"Ml�A���(z���Vx�-�#MhJ��F��Vx����Q�f1��#���&I"Jz-Kh����6�RP��8Q=S-�ّW���U������1Wmm�������('�	3�+�[}r��QY�Nw��]-|k����V�f�'p��B��pW�����3�K���v�IEND�B`�images/admin/support.png000064400000006252151165074560011342
0ustar00�PNG


IHDR00�`n�	pHYs��~�\IDATxڭ�{pT����V;N��S�ZQnB*�KjE0��P�"*��D)���VQ;*���ʭ��t��l�$Y�	I��
	$!��u7�Iv��g�^�;��=9�	�~3���>������h]^	�������3�\���kyc�ц�n��n�����踨*4�dh�_�~[�X�����PSSөS���򲲲�FcJJ��P�I'C`��[~�F�m�(L
�A��V^V�������_��T\\l6�����
M:�̀��I7N�Ky��
Po��i��^HMIM��(,,���<�|[[��b������t2�f��Ў3w�Ky�
�f���?�.c����^����҂,��t{G:�3��	T
�J~)���F�~I��떴�L�o�Zz[Ӛ_�V�9�����Ja)1��&���a
pH��ZMb�O�w�L���7ox�8���o�hv�څ���}o��nE3���}�5�~��	TByP��
1�Q�	d��4�Q�	�Lk\��%��>�0Q����th~Y]a-$Z�*�a
pH��ZȑZ1q2ĮbuOUoOV~�o�_H��K������_����;�UڻI>_��O�<+��=�*4�d�08$PA-�H(�]�Q��|���)W�ZtkSB\o�R���=/�^����۽ѳc�k�3��v�������A-Th���a
pH��Zȑ@H,����_]}���Y���&���O�9�\+���;�M޷շ+ɳ}�`�ބ��m�ù�zsEeaAAnn�Q�P�I'C`�1�
��6�
�r$BN�n�L�X����dN�n���u�_{��
�C�e&k���WV9���sŜ�%S��
��U��,S^^iii�Z��!0�@�
ɡ�B9!P���L�,�Ֆ�߯��>׼r�-9޽+���Ԯdś��npV�I�q7���ӛ�w�6���{�&�a��@*>�JV�l�r$BQ����ٜ��^w���x����
�?^�}�g��5���i_>�̢���\�s�:>}/(\	Fm{�J�,c��@�*��	��CT;2���c�dff?^�����|�/�����O&-�L����Iy�_�?�Z�������#���8j3��	TB9!�����H���
{��=��zb���WV������stt�5��/�ܮc�
�$!�(�cD�[:''��;00�)PN9�u����S����5ؽ�C��7Nr�
aF@�@�W/��z�"��H�DH���,;;�������Q��$����3�]��b���T�{]�/D�}�*Ŝ"�r�"���
���ȭȪ���"�]KYe�15�����иe�j��*�\e@B!��Bi(���MOO���
�!��\S��ŏ0��H��c�-��!�
B�!�E�����\�K�g�ل0c�����\^���e����Hj��v"��H���D�Z]]�������>�O������e�7b|�@!��W*ȉ!�.���/��@����8w��q}}�`�|oD�*�C��Ӥ�”޳g�C!1e$����Ш��2g�
pH��PL��r�"�a��jnn���jkH�
�����r����I����5@�@%�6��CiYC����{���<X�Z�Ǔ������|��+����?��!�
B-�D9D�Ɓ�s��FH91yĀ�G�.���	Q��d|��6SfH{[�*���&@�@��9�!�E0|R3�����б3��UE^,CNׅ�w͛h��SokcHM�5�1�a
pH��P��H
��H��"��;�9��գ�P�	��C��Z�Q���i*�{�$_݉�M��$��
�p$[imnj���"oYY3M�N���Vߗ�_~����-�,_pS��+��Ň�Z����_�JcЎ1��!�
Bh!G!�(��ib;v,�h΅�����Q:�]�|��3ѵ�a��w5-�\z�O2n���{�����Š�(��҆�@�*��vȑ@9D������BS��̬���ɎͿ�~BƸM�t���g�/���k��n̜|Չ���N����|�2C`�1��!�
Bh!G!�
Ť�ڏs{���eZ4��3z�_�z�i��2O�=/y�zҙt�#�N�\tK��+������q���
M:�3��	TB9!���@H{u"9޹m����(�gZ��_�o�����|���i�K����=���~錒�9VhLIa�f��
M:�3��	TB9!��G���P�3����<��0s���f^|�׎-	�]�<=僯p�g���t<��遲�~�gΞ5�ͥj�B�N�0�c
�L|
�
�r$BN�������֦��S�︾v��k��ʳ3Q��eŧ}[�<�=�W��&L[�ӶK-Th���a
pH��Zȑ@HՊ�mٱ4�%wN<v�k�φ¾i���޽�}�n��C�kHy��
��P��ܝ��c
�C�z3ZȑiOݹ?�!q�Z�g�M4ͽ�&~V˚�}��o<��E��1��#��sT�E�׏�F
�C��B���8`��&���œ���g}���
	q���;2���6�$��N�
�a�
�6�{��>�?g���s6��ǥN�����$����b�ن����C"�1�`�1��!�
����#'������U�d��ԃ鿼9�о�egjj�������
Iq��"*t2�f�D���#b�q%�m"O��=0��4����i�.��l��<��V�P�I'Cʗ�ɨ�4��!Q�"����DEH�Y��D�y��s�����n's���AE�r�ȑ��4��B��D�N�R���ɓ

�6�U�:�r��Ŋ/��y�3h5�u�T�{��R|z挱tp7�wvv�0���!�A-�3>�8Mb*>�1w�mW+�bB9���)�#)E�,�h���QqR]��'R`ǿ�QQ���T��y��y�����4*B1�8:�̑�$GN�K������U��c|��%x�"��
���K#�IEND�B`�images/admin/tick.png000064400000000777151165074560010566
0ustar00�PNG


IHDR(-SsBIT��O��PLTEL�	�֥��R��ԟ��c�
������~���V���`���k�/���W����߲֖��}_���]���g�$�渌�PP�
���ݱ\�v�B����������r��[���\T�
��I�׃�ߩ��\���R���W�l�%�Ұ��p�5��΄a�T���`���8tRNS�������������������������������������������������������em�	pHYs��~�tEXtSoftwareMacromedia
Fireworks
8�h�xIDAT�c�Eh|C4e6Tci-mn3Y���X4@�HC��RF`k5y�@|a55~�;���L�X����}U�K�u$%%吜.o��ć�EQ�����89Ř�1}���&���<IEND�B`�images/admin/tickets.png000064400000006544151165074560011300
0ustar00�PNG


IHDR00�`n�	pHYs��~�
IDATxڭY	[SI�6�����gz���Q\@VA
�"����l$!�-�HHB��%	���œ�J2I���kQ>��֩soݪҟ���NOOI��ξ�`
�T*�R��Z���p��b�F��z<
�B&�����F��S�����AC�D������=<�;���{���5�0>>n2�&�=��ޞ�|>T��ֱ۬���
�����'��V�1F��rB{���S�>�m6էO+��3��]��*��7��'�E�M������N���*�.����lɇ1
țq8޴I3�)�gM=L�|kk��}ė=gwC��,�$�0�A��^�"y�,��hƫF��bh��
���7L_-j�l���/�
�l��N4pxx�OZF{.o8��|�ާ�L⫵��^oN�2�7��5Ɇ<''0�V�18�W|e.�ë�>۴��K�E���F���
�٭}t@?��?�^��=o��צw(<X��J�Tqr|3帾�?T"Q����(7���D��R���OŒO����KMO�-,�/�kKE�i��˫k�bey��\�)�O��ֳUSYm}9��_1D�jE	�$�-�P�M�8�S3v�K�Ѯ��#��I��s��2�-��;???��O9�lS��5������#�n��`�՛+���q:��	�'g��QC�P]�oNe���Jj�T��N�ݩLk�,v��"�OOO�t����Z��hc�ёJ������zy�,F�V�����i������ѹ�9|��N/�`�h���J�)���Z����,
Pτ�
w�@/���D"�Z0H�>2�C�r���
��O�N',�B�^�����������{{{�
]���\���J����D
PW&g�	[����8�uT�@DȈ2H��l6�A��NGGG���y�[�/���T�<1C��Ejc��b;~J��,I��240�ݘ����K���>S
!](��+�c0�AJ��c8
!��K��hh|T�^F�{���C�g�ɍŒh���*��)Ő=�?R�gLi��=mH����Kc�?E�	2Z'sx#E�F�����j��[����p�B����
1D��א̒ET�Di-}XnXe���C�777�:��'��,���"�{AmZZ]!Zb'p�p{����)��3$Lk�":a�—�
*,��IT9�����0Nm?e�f5M�|�9n=�y����s�p��zJס���=��1E��B�i�M�2BRt	-�C��zD��3o�s'��`��g��y.c2I��Y\�k�>�1
C��'��,f"��F-^_�e3�uc���b��x�>��^o�!&��eu��0��	Re�U|*�����xlC�	��zaa~aqi�f\��	���+�VVqD�q�Á������-

ȴI��=�&7v�W���/�D)E����&�'��W�B_���D�3nom��	�3�'<��l�"�[���!�*AR�4��7a���IQ���9�^ul��+�UU�Y�D=$�_\9v�/TmB2?�G�/�D�H1$H�?���I
�จ-z�٣eow{g���-=�leLKS�|�Z�:�s>1��!�
�ٞ١ȗh�"�L��Z�
��{΄ɂo�;;;+++���\Y^Yۚ��ݵ���r��δ>��h2!��؄���#C��W���zYb�e�����=��0Z�\��
��	�����"���c`�D�Jq�}j���ϡ�	�AC�!dmybuT�*y�5��e�$�<�����P��w�2�4��{9?����4��M�yVqB�?a(��?O4F���Ѓ���j~lY�:N<$
b����EwsN��17����d��I�ܪ�q�쬋D�B�����K�(��r�>a]������+mә,��	=www��e������Բ<���9N�����Q�j~~���^��W�"�4�a�~��R�J��Fa����w���—؃Hy
����[˶={v`��<�i�|��/���;�7%~d�>m�}!�P��~%�Ae��w-Z�_�ЀH�
B�
<.k}�X�93ҤQQ��b�"")�I�@O��6a��7�s��{Ea��{nLI��h�|�izp)s�\s��ރ�5�0��<��]�Y~��#U,�h�:��fvQ��I�-6\o��D�4��#,��+:c�;�mҙ�$�H����Mv����l�>�ޕ4,�7['w�7�[�_*����P6o$������{e�w��C>9��?��K�6�x��d��'�#?g\=�����B��/����z’�^���3[�y���vQ��`���nzN�Ӄs9<<��?pZ��fƊ{�R�d<��4��a6�^�����MVܷ���	u��Kb˹1�Zo6��&���I�R2瘙�seM�#�,N[ݠb����\d�
\�!�"���R������(�s�x
@&)��ِ��ż{;k�O�=y�r@�7�pWG�|7X���L�lqJ�}�҄�!�ܫ��~�|�u���Ky��W�$#Cr�ՎUC������b(�A��>����r@IT�8��6]]O��{��T�uZ666�9�b6[&&�SSS�
����6pE%%5v'u��
>���Pl�f�ZSK��B�b�Z�è��DB�A��fp��ϣ3�pKo���P
BV�q�
��:��]T—=�C'��'LBFJ��PB�(��?�F�+a�*�^�p�U
r�E.qG��G�̂�Vzs/n��[�~���J^��b��>/�?P�R�|^��q��50�V����b�:�,`��[=�7a�
E��
U!='�8P�WRٲ��H1)���3�xYm�ؠ!'���1�
�f�=���ʒ���wmW�����G1�rb_�s9�g]Q��_l�N'|�*>>�⧲����@����W�sf0]˫�������7��n�f�.��UX�MÝ7
1Eh�1E�Ŭ{o�Jر%M�%�ߡ�<(myP����QY������q����Ǖ�J.N�1��
�C�p�
Y-�T���_��e���Q��Ϝ�__T���e�o�5����W��Wu��3/h��u������|þVԄv���Fqˍ��7ߵ�*i�]�~�]ǝRnL'��{����{^,N�U����7��4�4�Y��-�O�&��w鍒T�0�)z��1Ei��u�Oo�"�)�F�S�I��$TO=H��$Ϩ^��M��ug4u?gw?o����,��C3ZOf����v�C�stC&&SF��b+�-�;�KڝRΝ2.%Q"�������{IEND�B`�images/admin/updates.png000064400000011644151165074560011274
0ustar00�PNG


IHDR00�`n�	pHYs��~�VIDATxڥ�w\SW��淋O���[W�����uUT�Z�DE�2e#�&��F6��`�=B
d'$	��IRq��y='ߜ�ɽ����{�Ɇ�����T�|M*_{y��s�tmN��P�|��?k��~���
š��ڋ�:��I���C
�L�v	�]sk�y�@v�L��[�r��	H������:_�Upč�e�<ia�.��īc���9iO�d/3s'ڸb٪\ŵ��=��Z�dU�U��(?��bη�斩")K,c/��K��e90֒���V)"Y�`�nRTL��L����\y�B�ӆ7hT9��p){��0ĭg��]��n�dH([���cI����r�hutA:$\�]�Y��D����1~�0w\
V�-�Z�@�-t�o�tx��9[�6r�����e�*i~��d��V)bلxMF\�
W1�ir�[�[��{�'j&x����k
�T���6�CqC�|2�db��%Ds�|1af�N2�`��-H�ER�iQJT�#雕tM/cyb
�6��
�ǧ�96�#�t��ӆ��A�0��1��"�pb��1�bϷ�;���R�R����12lePA����/�z�<�>�A���Xa�t����>����B�Jm�����R:?y��G��prƧ���\��<pD�R�^�2�c`N20�@�m��|QO��,T2�J��,�<��t�`ƴ����&d��VH��S��EE{�0���OauS���$n����ԲL��E���cZ�9�p
��"O��]h��W3��Y$]PB�ɛ�*�L�R�n�׳�����߽HI#WE�wM�}Co�8'�}Ԫ�߻c<��b=�M������yr�;%�M��<fj�����#�b�U2g[�B<ԙGqf˙3�ԩ����Qvt/ů�W,YQ5�N�
�>�pz�i
�@�i�=�k�yC�;~̟@	�g@F�$.`��
����@�]��:�B�
�l)u��5�9����&���R:7��J�A�)I#T/to���s���T�1�7�i�j�X5z4�Ah��oT�=D�١�=�������v��G�S����h�Ri�A4AuF�jXs�<a9}1oL��()��`���qI0�{6l��x.{�WiÊTq��H;_z���&��Lfͥ2��j�yc�fij}<���;�J�|F��O���	>�l���/
O��2�y���,���n�m+�T���R�߫�6��jp=�{_=���roڢl���3�ʮ'	$�)�|˱?C�S�Gb��d���W�wk�q��#��$����^Z�3v��J�L%M��@�M�&'!��tE��c̳�sy̥��>�9V��o�vԳ�lͻ��8w�;}�3��ؿ��G�m�:��k.�M	�᭖H�ih�~B٩�_s�M�[���&��~��!WܨW�x��C{�Gd����f��O���~̽m��:��q��J�f���M��>��zus��F�b��K�ŘO����̴/��ɫ��I�N�(~�Y�A��+ȶ;5��>�A��7<ɣ}̻��K�tS0���	�N�[�	Ct�
�b'�0g�U}}��R��-�wv��
��h^6������K聎�?�T|Q��k�5�²4�|��������SU�(cX�e�Fe��n�>��;�#v�GtŎ��H�
u��1���z)1�I�3�G̰'kv�4j\Ek��p$m�fc��������a!��l���&
�Q<�'k�kgh?�Չ����<�Q}6��|Q��2�Ud��ꮻ��f�>@f�4`�<h�g>h����:fd�q�����Y���9�6p3[x�)�m:gpg9�
�)���}��|S4�����L@'��D��_2����K������7��nW��t��v��u߮�2�%��S�,�0xN�L���}�5xȞp5����h����K�����f�9՚�PMτ��A?H�ӏ�E���c)@�3�(ü�sE�ư֋���%8��
�t��P��)}����n��3<��B�u��Fnz����_+�8`/��.�j�#�ƣ�����n1;=�����!��0��Ա�JVV활z�|�AA�QAӹ�&
����rh9�0�E
�hg�F~E!MP5'�Mn⥶��z�
J���Z/���j��j�D�;D|���0%��I����$S;<�PT�N\�^B��d$
;�Vu2��Tf-0P0�j�$�w��F|�����-��Hs���
i��*ِ�Ih/�e*�{6�����v/���|��f��m����8G��Cv{'}�
��z��}x����c`:q%��ezP�^"0đx��b�vȭe�z���ϡ��"�@��gx���BX��^9+��Aq���NAV1�
�o>��S��S�v��/-���~a��S�ڣ؝��=�����keh>��i.�`d�������vD��D�]C�z����mc�M��q��x��h�]��}3��S7�ȃ��at�[
���u�v����S�A���[?��"�+��o\���!;���'��
|��dj=��
����
��L?�[�1��]�5�Ϫ0�l����(dܰ(t���W��`G�LF���m3�0��#��:��5�Ph�;}.4�c�at�IFՉ4�<5ט���[mC�9F~���(n�g�N��]>ɻ}������K�럶7
m�_���ݮ����mvO��	�r/\+}�u��Uj/�(t����
���s���B��c���A�
>k��u�;E\K.�#��D*B?�\7�\#8�H����m_9G}�$s�W�L����^PuO����Q&���^Ў��l�}���j5�B������e̐
vh
7�e:��:R0��NO	FR3��
��kD�3�N�fV��d��T7	���N�j���gA�Y?����_9Fns���
b�_;Gms�n�dӥ��~�6��9����Q�����o
�Bz4�F
�\5�Ⅱ��pFh	-����;��&�
mPN%�f�˦�b���5&)������В��#swx@������0�S��ϬB�V��/��>���&t�U�'vΧ��Z�i�<X�C�\]�r�/�;���P�H.���*9A�ܐF~X��}6nd1����yxk�ji�<l���<���[�FI`ӆiB`Z�R-h��Bu��O�=���/�[n1{���m���͍�u?]h8���߇�_�W����e���
�l�G!ݧ��[�����Q�
���t��;!Q�/��k�%���{I%��k��3	�:���1����)�L,U�K����]w���G�=?�����n�x�[퉶���*m�֟*w��ٹd�u$c�-��cx!X>�\�:^@=ϿW���u����X!�e.�T�y,�n�d�]e�W{5~6��pt���o��w=����&c�͗�6���e��W]6_q��W]7_v�|�q�E��-A�u\�+ߣW���/]֩�NvΥ�1��X���+9^�s��d��'ń_���L�bJk$\��,i�̮L����׎)�ᝰ����sV��[o4�ި�m7��)sۍ�6�6[m2t��х�q��o��f�*��
馐�(N���#8�Q#?����������ϕ�\�Z���$�в&wʻ��&��v�$����mw<>40������́m����,���&C��f�CC�ϝtb�^o>��W�������pҸͳ	�\���g��fp��3K�KG�ˁ�;er9�ˇ��*�����u��eږ~�[}v���V������f��}`�(l6z~������/8}���}����P����
uN
Y�MX��������!ۜ�8%������^�X�/��$
-��;�X����y�k�}�[�__u���v���|jb���
ا�֟�l�`���__qR��a�aoi��r#\5iи�x�i�t�BHf�d�t���O�1C�Y���^�~xM!�T*�����Kq=����1�X}��C�!Z�����u�C����u��ם�_sV���ۮ��ߚz�
?�q~z�=�p؃�FN��_j���<;j�8�
�jY�	sě�t)�X}u����d��'�ɍݡ���"���^�cn����~�
9h�m�mt�*��8��S�E���	H��o�_��m��M���XMۮ���;�;H�P�i-����ym��F������J!��w�GV���!/E��v�z�;��;�	9�?�A�q1*�,�@Wv��I#ӆS�=7���tꄏ\ͦ��[:�/KV�W��篧wlz���	���l6e|�8:��*�b���0�}N��4�80@`�]�k���b�Z{��ĉ�1�.Y��r��nYv�5z#����y�+f�������W4/�Z^����p8t*eb|�8J���D	}��~Ph��Р�2�A0;+^Z����o����7��S5�"%ͪr�yM��O
��%��@T-,,���p�\6��4*]i:
�����A5�npɚb��-KČ�}˅d�{䠍/�L�0%�,��G��7X@-������D$/.��i��b
$8*�z���t�ɟ�J�R�Wk\�=��GQ:&t�L�����@o{�՟�a}Y�^��:��"bL��Q�����'����d'��3M�Ȗև���+���]g�ͬV�P4Ü"�2zI��QZ��Ǟ�,�����벿��}�+ua�"�,ID��y���Ҋ��+H�^���oӺ�����Ҕ�*�ޯ����!v��]IEND�B`�images/admin/user.png000064400000006124151165074570010603
0ustar00�PNG


IHDR@@%�	pHYs��~�IDATx���Y��Up�5M�'!�`�	cFGD�!�Db�ۨ1H|3�EdD��f�MQW@p�FQ�P@��G���/_�O>.��r�S�N�_�N�:��Y�v�������۷oߴiӿ3��A�:��Yb�ĉ


7n�7oޠA�|��n���c&|4�j�M��
 �۶m[�`��?~�5�t�֭W�^/�(P�l����&�E���/��{���ʛn��omʦ�h:#�
�������+p����e���3�ԙ&
��M�ֹs瞧-�0��#���h�v��d����n���$L1��
��/����_|�:Td��p=��]�t�C�
��2^q�w�޲��*2[F���s�kN���*���ص�b�����8��+W^xᅗe��C=t�]w=�z��qY�eSL�H�3�x�	|��G�w^�Ln��vE�o��
7�p�:\u
��+
�(�b���[f�8��˗��Ln���.��{��W\q��������#��2��A�(P�|�-��聑��,�'���{�]t������A3fLuu��!Cn���N�:Tڵnw�y�?2��A�(P6l�bܸq�
2�
��W��g�}v��gG��ѣ?���5k�,]�tʔ)O>��x�s�9.��.�x�Ѡ��ׯ�"�~��u��UUU1K�,�'�v�Z�{���k�b@���/az�����?���7�|s��<���AǓfmm��f����r�)�e�����;L�۷/@�V�r�ڰa�W_}���_��2a�…�g�W&s��Y�h���j�y�f:4�e�>��cL1�,�'�s��G}�믿��K�+,�����-[�|��7F�v�����8}�>��Ӂ2�
��W���C�Ǝ{�תC��͟|�z�j)hp77�g#�=M�f�;|�p�d��8~�xMM�ꡁ�?��i
�	&q��;h!�#ƽ�C��Y�?�ꫯV͘e��Ȟ={\A���?c�}��e˂���
�-��F��x6b�[:4������6�f�0�8v옋,Lo���;38��Ah���=Y����@o��m�Af����Լ��[�A.�J��$�$ij��ҡI�,sY(c�v�EB8�K�,ԠL��)b�[:4�e�{�WF�w��q���o��p$�R
�]���&���:M�f�[F�aN�8�k�����;���GqT(eȒ&�lĸ�th�7�>|��$�2:q�͛KVl�`�#ƽ�C��Yv�i~�X&��ݻw+���P�4�>�]p�1�m@�?w�\+�@1U�u�LG�ݱc��MEWD���3�_�|�j��bĸ�thΚ5�4�p;�Y�+H�ȑ#��ՙDqT�؎8������$^љ>}�ՐQ�;�\���h�8�`�У��Dq��hw
��*�S�N��$3N���*d5L�V�����d��@���Z�U5��������b�Y1���.z��bĸ[SR��R��	/Ԗ/L['
ީ2F)$B���1�]�#BC���L�x�i"�	SK3��Qg�e���|I�
�*JʢL6I�tr�mۦ���h1:V�a��P�3;εG�0gE�ۺ��\��D�d����W19p�]���cM(ܚ�[�������G�%�~q�Et�Ԧ�k���]]+�m�̙
ȜL�L���q+����O���ܷo�����݋�W����H�@ěM�ٟ�$�Z��"
�yf&QٵA
���A�WZ���F
�?e�G�^QH��}Q�����qj��'�+�js��h�RA�9Gs��$i�B���;�_
`��Iŷ�c�%�OQL\����7��;�I�آD�J�'��-F�}���m�duuuT�X��%���,L���]�>���}jN�Ë��|��]P�$
6�8��S��-��l�#�UB/�	}>���s�;�2	�?iҤɓ'����Pr
��M
=\
^E�K���}@�_�J�K/����/�8Pc3��Q���6m:T
^�t7ȗ����+��C�p��7n„	y�)�������@��kͩ�#���'�#0�&GUU�P�R�C�C�8������q�Fޟ�t�x;�ah�K�B��1cƎ[¡dC�L�2lӆQg#�{Y��D�KЋ#��&٨Q�^|��D�Y��#��"&ŋ����Y��
�%�:���@���9rd����Kr)�ttA����9���M5'��������hW�C�>���#F�x�F��,���~	�}�b��N�@/�<��;Ç/��7O@/9x�`�D#���\�ښ��Ĥ�@҅8�S)�Q.S�<���s�=��E���<��3�<���棑�)�&��t����ǝ*}Iڰ���aÆ2hР���y�8p`��8��)O#1�o_�@_�I�2zڲt*zDS�V�}[�~���
�%b)�H*�{ī��<�_#m���	}���]D���Ǐ�^O=�T	-El�@$&򤈀W2�I�z>��=$
5�%v��<Vdal�X�D#�ٴ�m��W:pG��C��,�.�G���R��q���K!0y�T�2�5Q+��W�	���f
<_���O��0
�5�~��}|ݺuvdp`+���F��dd&���
��p��E=�M
|�`��ôy������:.Y�0�"��+"��L{#��t�mn@g�M���%~��0�)����0���۲e�ƍ]/59�!����1J���]�U�.��=3n�p��\F�!���e�s��������U�V�����,.�cU&rÊ��WB3Nq�vL�Ww�s�w�r���m�v����ۈ۷oO����k�9���kjj�Klkr�c�t�eSLL?�3�,�\��m�ɣ�X�cǎYP�&h�i�Ν;v�pcںu+�~�mm�B�eSL4��d�q.���0�SO�X�IEND�B`�images/arrow-down.png000064400000007043151165074570010635
0ustar00�PNG


IHDRh��	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB
aAHXLXN�H�
$4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�FNIDATx�b���?2�-y���[��b,��-c���W����b��=����
Y�A��30�E��g``��aXs�
��D��u����N���a=
���5q����R���K��X�������,�-
�p���/�*+��` ��
v�Y��V���I,&�!����&���aA��3�s�G��Y``�h��Ԁ��2$��,��C�٩���n��Gz��(+h����v��0$�|:�\��KBq��WK�\�
9�ؐ��$4H�����"B-"M-ME����D�Mm���&m�{Io�x����<RmMn.6��<<�I��է�遉O�T�weM��O���}7���T���v�������`���ti�^-��88���ې��l��.U���t�������`e���d����2��LB��F���"+��c�|^��8��|��ĤgEzV(���J���'���N~\�I��I�ʅ�ÎLB9�,��4�Z��uس���>�o}z}?���C���0)ʪ1�Ń����^)!$�vh~�2��\��7a��RH�_���[Y���E���Yjե���'z03�
�s��~ K�K�0r�e��%��vAs7b��	_�
]�'�8�K!�Y�[�h�0�+�&@���Z��Qo~�%p�Qǀ���7He
`D�(9�^�6#���S�^l,�A
��A��g0F`�Iȑ:J�+��5BF-?ڪ�4G'#�W�iO�\V5:�`H48�|�WK.���N�4R�ֹIEND�B`�images/arrow-up.png000064400000007007151165074570010312
0ustar00�PNG


IHDRh��	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB
aAHXLXN�H�
$4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�F2IDATx�b���?2�-y���W��b,��-c��]���{���b��=��?�Ф(��eW�"����
��<�!�k-��D��u����N���"���5r���jC������X��M9)�����b��}�	���P��f&F��ѩa�[!N6�M�N��~c�{�5��7���R��e``���?CM�-C���A�B�$�n\kߣW��������ff&��?�0�ش��/?����?��2Fͺ�?202<e��=��������b�&�}�p��g��w�N
��������W��QC���_Q�O3|�����h������	����g���*��{o�1j�N���?å)I�^a�[w��	�w�rm���g`XVưp�y�]gn30B�͹�?7;3��A�����9Q�~�d
a������.�n`8�eN�@QR"���3��J��By+�U:%������B˹�W��s����>}�|2�y�,�9e~��9��в"��g/@�K"�-/Bno_�$������'���(ۡ���to=M���Jq{e-�@"������Y�C�'��5�Z��"8Ђ�X���R���{�1D��yr+���V�۪Q����KQ��
�,5�YGkD���ƺ�Vl]�>E�<q|}3���w�1oa>ie;�Zʎ���~�v�z��&^��,S�?��h��
�c�
����0
�/��IEND�B`�images/attach.png000064400000001312151165074570007773
0ustar00�PNG


IHDR�agAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<\IDATx�b���?0222�nnnaaa����
;
�a<q��ޙ3g��{��H/#>���%�Ν���ի�/^<�ϟ?L			��


�����d�4���ٹ���t����������cccK@��p��s455}ddeĦϘqjŊ��M�R���۷RKK��������٭|||��.]z��p��+������?�������K�.=}���@���
nii9���;u�ԓ���I(^C~~~=�&{��tv	�~&��111����{s���e(.:����������/_�EHH��v''�`���+NNN�^/]a�e˖��(�D�,*&��u���{����
�0���jz]]� �)L�{�zw_�r忟��Dd�Q044tڸq�K`8h
+&�C���y�#�
����u(0�v~����
PP�����Ï&L�
D�r�?~d����w;44�@C�ޚ6{��7oޜĖf�m_cem~JJJ���1iҤ�ǎ��B�����
���JKXYY_EE8pjڴi1@�w�4c��ILLz222Q|�|���Ȁ�����y�@IEND�B`�images/audio_icon.gif000064400000001155151165074570010626
0ustar00GIF89a�+,--333?@@IJIDDQUVT[[d`_dgggggwpoqvvxii�nm�yy�{{�po�rr������������������������������������Ʃ�ĩ�ֹ�ļ�׵����������������������424!�+,�@�J�R�T*�J�R�T*�J�R�T*�J�R�T*�J�R�T*�J�R�T*�J�R�T*�J�R��*�J�R�T*�J��
��J�R�T*�J�R�<�L
&�J�R�T*�J�T�A�P)�J�R�T*
�Z�BRYdT*�J�R�T��)�0m�J�BQ�T*�J�R�
�$#&�QE�R�T*�J�R=�b���H�J�R�T*�J�Z
c4�(,�J�R�T*��,,��1t<�J�R�T*UJ!ِFR�aL*��J�R�T*�"�e
�N�sQ�T*�
�R�T*�b�0X:��ŤR�T*�J�R�T�ȣш,�J�R�T*�J�R�T��s�T*P�R�T*�J�R�T%�ƤR�T*�J�R�T*�J�R�R*�J�R�T*�J�R�T*�J�R�T*�J�R�TA;images/box-bg-12.gif000064400000002511151165074570010110
0ustar00GIF89a#�������������������������������������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:6897235B345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:6882931D345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,#h�%�di.h�Vl�l"�2e�xN|8��0((��r�8���tJ��X�c��r�|(���z�F�ߒ�|>/�~���������
�����������!;images/box-bg-2.gif000064400000002267151165074600010031
0ustar00GIF89a@�������������������������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmpMM:InstanceID="xmp.iid:55953E633B3F11E0A9F5FEAC25FEB1D6"
xmpMM:DocumentID="xmp.did:55953E643B3F11E0A9F5FEAC25FEB1D6">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:55953E613B3F11E0A9F5FEAC25FEB1D6"
stRef:documentID="xmp.did:55953E623B3F11E0A9F5FEAC25FEB1D6"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,@J��I�u-�ͻ~`(�di�h��lz�%t-(x��D���px���r�8���t-X���v;Xx�`�aL&3��;images/box-bg.gif000064400000006046151165074600007671
0ustar00GIF89a�R����������������������������������������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmpMM:InstanceID="xmp.iid:C71495FB34E911E092F6BF663EAB75C4"
xmpMM:DocumentID="xmp.did:C71495FC34E911E092F6BF663EAB75C4">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:C71495F934E911E092F6BF663EAB75C4"
stRef:documentID="xmp.did:C71495FA34E911E092F6BF663EAB75C4"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,�R�`%�di�h��l�p,�tm�x��|��pH,�Ȥ�HY:��hj"�J)جv��z��\�X��z�n���J䌃���]��o{��z���������M+MX$M(���"������#��i�Y[�Z���������������T����X�����Ƿ*�Ϳ�Ѕ�����������
)��mѻ������������f��a����
�����[�Æ#J�(���	�,T�0ŏ��I��ɓ(S��\���m<�Qȉ,s�$	��ϟ@�
��KJ1k͜PS�M�;��$J�*іJd����SyR�ZK���
Y���ڵ��xa���K�*Z�����]\�u;L���È;�8�m����2�`Ř3f��Ծ�})��LT��Ө��sWɢK�.���më?�vl����n�€M��5�M9�O�H�N�����!�=�w�б�C�n���صsߓ�S��FO��}���R��kx���w߀�w�g��w�_�W`}D(�Vha�
�
2�Ġe>�$�Ha�
�C�"q"Vg�4ֈ�~v��Ђb]v[�2�(����Q��\�)�3.
�TVi�T�2{�$��\L�&"�bi�h��%��x��Nt�6&��i�f��G��|U��H'x�����&�袌&�̖{�fD`�%��dzf��v��2�g?o�d��f�)����j����f�Uj�����������H̤�iit����6*���F+��BN���K+TƎ�����,�Ֆkn��fk���TV�#ָ금�+@�����o�pH��@�[�}C�K�������V��{T��k�����{(�
C,������b\շ�Fٱ��,���319�\l�+ܲ��63�D;l3�'ws�Jc�s�x�\n�"`��Xg���V'
1�뢳4`�|�wJ]-�r��W{}�Is��T�jL�Q��6�p.��r����)3���O[ط�Ӳ=������xϙ5NaڭNM3��Y`�騧���T�Ṡ�9ٜ3~�ˆ���̤���^��k�m�xS�7z�o����S��ԫ��a+���u�<й{��ȽWo�����񳧴�b�C>���>����������K�t�����}�����*荌t�;'H��	p�cX�'yWj�!v��U�(�����؝c{���B+�Z,��R��
��x��
6`�>�y����
qH�����P���B��F���H4?r��a�{b@�2��hL��XE�P6�K�/��EՏ��#���>�q�l�7X��%&~�s���0No�~��$�x
�����rD�$1������H=HN�~�$o��7�ѐr�
�h��m�3%*wII��d9�EY��L�c$�H<���4�I�jZ3��%+�	�ae�ב�C��e��)|&4���vf���_)�C3��\�-��R�S��h5߉`r�f1��OPֲ���g3O�K�ZԢ/�$�9Da���A��hi�}���)/�RvfT��h�G���È�N$UD#��ߩt�-
�4_
�mZ���iH���*����t:+Ԗ�XͪV��U�ԨnD�h�J�9�	��|?��R�VբW�JW�zu�=j7?�P{2���Z׺��R���b��˯�4�{�i=�׳���=)��J�H�t��mV4����	�B=9�������O;�G����\-L��Ȏ��0�H]�(�ƶ��C�$?���fU�E},dQ�׾ڔ��8ͧ`Cv\��v�˵�s�]��U�3�-1c��:����na�����ȯ~�������5mG�KO�R��Me|�k��ҷ��M,~�K�
�w�Ȱ�7�pX�EĀ'�#8B�-�qyz����֤��@���8�q;images/browser.png000064400000001726151165074600010215
0ustar00�PNG


IHDR�asBIT|d�tEXtSoftwarewww.inkscape.org��<hIDAT8�U�KL\e�����ByS�����
څic��؅i�3ѵ��H�E4jM�	&>R#E���&�6�D��Diu��@;��¼��\�]hL=��ۜ#�Rܚ��:)�R��,��%R�D0��i}�8��ݭ}q+��{�ɓ�t����t4n
�r9H�9��4_^�LaԲ��z�����[Gjo;r��*\n77�"Ų"���f��{�.���ũҥ�?�۶ݾ8�Sv�kn�����|З)��KV�1W��F'Hmn�Y�d��]n=g�"Ko/I!��:���>��
_��M"�W9��{(%�^���[,�mۿ��v9_h�l�-݃�R���R/
���������<v�ׇRJ)����y�f��m!
8�:B[żq�r>q+�
�<I����i�x<���j���D,YG*kPStK);%�����uc�ƒNsE������������
�V�iZ�c>��J�{$p-�Ε�f���Z�^�C�ut]�\.#����~}�R��Z�n���(�%��#�֠���^���Occ#�e�3e��j�&��m8�
��M����>�P1M�����������Mjd��.R�;�$K7VL�]�-�v�:n̤���N��<A,C����Qfz��`����b�P(���yR�~n`|#k��u�g��s��|d����.���Ik(�r,iE����@�B@Ӣ�O�8uu����n�����)B�>��rx�8;37�z��Fj��RJ	!2��Z��f�T*9�>�/�Wm-�ڢ�:g�9�׋��hr���@X�;�3�>�556�1JFg<��o>��kr�nl,�0g���PTJ�͛���f�IEND�B`�images/close-ticket.gif000064400000000371151165074600011074
0ustar00GIF89a����ѝ�J��n�݀�����]�8�������Ăش!���ԥ���Ɍ����̒������ح��ܶ�
���v���������!�,v�'�^i�(٭����%KE碞
��d㝝)W����Nq��t
�F&�Pv.��ǡX$�	�f�͆00���f���"�n�9f	|v�$�u~�Y�������C��!;images/close.png000064400000007031151165074600007632
0ustar00�PNG


IHDR�a	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB
aAHXLXN�H�
$4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�FDIDATx�L��Ou�?��2;�3�.,
�JSRJ	��&V�Mc}i�	ެ(/	�4�Dx3VK�1j��Ӄ�jL�hbb4�EXyawaw��ٗ��y�	>������}��҅!�1g0tP
܏���VP�p�6);����*��֐��
T�;T�&�J
�I��P��
R�4���LU�+
�Zw�p�ʫ�UDb1�6ZҤ�ݮJ�Ҙ۔��Ƣ�=2�dZ�>�F�zg(�J�P�<?���럠w4�UO�'G\�=aW�ma��Ĺ��Yvf>$���L���O��0��!XZ���e�T@��<)L��Z=);r�T�%��q�3�i�g)^���TH��a�9M��%��Oc�<�})��Or�î�?i+’��T���a������WT�N��G���4�`t�@᭻�l���ڙ&;�ʃ[&(���z��g(�t�ͷ�&�j`v���D�dp�OV��M�U;�+h���Y�P���=Rg�`��Y�8Ag��a�QQ�7)�'���I[�k��vz�]���1r����N�sϐ����7_�+
�c�Rl��x2w���`��X)��[��3�'����-�_�@�$�������l~�ٱQz�,��
ϓ{��]C��Ű�S_ߤy���ofY~�u9P�6X��2p�:-'����
�ޙ�H�C�kxr���b�]_�#��"�SS<�I`%,D	���vN�
}���#�5����[l�����*��A)P
]4V��,�d�uÀ�gޭT���|���iP�j���D�=�]�Z�Ls,F�4	#��/�펮!S�C�%�}�������)E])�E��
��}�í�{IEND�B`�images/date.png000064400000003112151165074600007436
0ustar00�PNG


IHDR�asBIT|d�	pHYs��~�tEXtSoftwareAdobe
Fireworks CS3��FtEXtCreation Time2/17/08
��XtEXtXML:com.adobe.xmp<?xpacket begin="   "
id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 4.1-c034 46.272976, Sat Jan 27 2007 22:11:41        ">
   <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xap="http://ns.adobe.com/xap/1.0/">
         <xap:CreatorTool>Adobe Fireworks CS3</xap:CreatorTool>
         <xap:CreateDate>2008-02-17T02:36:45Z</xap:CreateDate>
         <xap:ModifyDate>2008-03-24T19:00:42Z</xap:ModifyDate>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:format>image/png</dc:format>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                           
                        
                                                                           
                        
                                                                           
              
5Rd�IDAT8����J#AEϫ���nIV�r=`���+?#�!�\��3���0�+3&�
IKZMU=խ�t�a�B����}��}��|r&�"���{Qu�č*.���p��z
y�c�>>�?:zP�ON�2���G.E�h��*��T.�����aS�b�wv�,C6LQ
e����5`00���v��|o5������2�z���}D�Z��h=?c�:��
�
��]-���[�cTA�e�^�6	�p�m��@+uL�n�1�Ʉ!V��v�\�'���,�n���
���z�1W�|x
��ɚ�i�1Fb�o��!�X�'Ĉl6�A�eY��?��Ęr1�t86���Z����Ur0��K�F�ϭ�+S�Ҷ��mIEND�B`�images/delete.png000064400000001040151165074600007761
0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<�IDATxڤS=OA}+`�1z54����Hl���cB,h��
�P�_0���/Il,�P�	TBC�(��ޞ�����yo�f��mۘ�Ì��_�B@��qrY�ʦ'�7�u�R��
�Dž����o�(��”A�'�����H�r�I��
���f;���,- ��%!�)T���dd�VC4�M�Te
�H�n��P(��J�J�E
�ψ�-`;U(��dR6
E����xk��zR�#����(���5���2}>^{=E�f�\�PS���8�ǃ�NY��Ub��S���
[�e�4�H1�8Ƙ=9��1�)F�]R�߯��{����t��8�o�H�"ۭG�P���eS#Vɟ�jxx�m���P<����j
B�e�/l����py�Q���
�mu��މ�v�(Ѓ�\N�m�WP�k��2"�w�`#��a8>IEND�B`�images/display-icon.png000064400000001165151165074610011123
0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<IDATxڄ��jTA�����:c0&�$DD�!���w�}�Y
�(W�\�!yC���(�7�(f�x�Y�
��N߬�c&'^���꯯��)ƈ�qq��m�5��`�x������|��n<��t�T
�6�Y<O���+���K�ե�9�b��[gj�;o�taC�s�GhMh܉��
���g��W̟����u�d�g&Q�7�1�k�|��H(Z>?�	>4��|�Q�l}7�3�	T+������Ε��?�?����S�;v��O�Vq��i�c
�1�J	E�/?�Fcl/i��]�aFc�e�8��߶�8:
q��2�h"`8c`�>�H9���+�?$2�b�apI�0ZH-�)�_�NE��z�JU~@'ɍ`�Ysv#l�.�#K@�(X
��u4 ��
"9���:�����
�t"g��m���ȝv�v9{�ˆ���Jaru�3y.�
mA�KǾ{p�w�@�P���a'Ƅ�F�
;3G.����������\�%���&����IEND�B`�images/downarrow.png000064400000000447151165074610010554
0ustar00�PNG


IHDR(-SsBIT��O�<PLTE��B��؆�a��`��V��o��W��m���n��n��s��ߏ�q��U��Z��n���o���)�עtRNS�������������������OO�	pHYs
�
�B�4�tEXtSoftwareMacromedia Fireworks
8�h�x7IDAT�cF��f�`���0�/B3�τd�
��l|���0��0^W���IEND�B`�images/dropdownbg.gif000064400000003124151165074610010653
0ustar00GIF89a�888222%%%"""(((000������...---,,,+++�����������נ����Ҁ����������ڡ�����???���&&&###
  ***777'''444$$$111!!!666555999333!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:39D0BD5434F611E0A32FC47285039436"
xmpMM:InstanceID="xmp.iid:39D0BD5334F611E0A32FC47285039436"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:89E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,�@iH,�H���l:���i)�Z���v��z9��xL.�ϣ�`�n���aC��������!���������������������������������
����
���
%���	����(���	�����������&���"����"�������H����S���Ç#�8`��ŋ3j4q��Ǐ
C�Y �(S�\���0cʜI�&�(r��ɳ�O8
�b���H�*]���
;images/edit.png000064400000001103151165074610007445 0ustar00�PNG


IHDR�abKGD�������	pHYs��~�tIME�	
82x:�@tEXtCommentCreated
with The
GIMP�d%n�IDAT8ˍ��K[Q�7�����ŭ�.B+X�����C��BHڡ���
��v(�K@��A��-�K�ͽ�rQ��C�zs��ἇ��>�s�5��r�ܯ�Lz񧯚�r�����(��u]QJI��I�ʽj��:A��`�6væ�h�4~��]�~Z���4�N��"�F�"��O�4�M����O���������Omڜ�'������K�պz��hf���KZ4��''�D"�|~	���Z�P\���+�f���*��b
`*9� 
��m�e���/�ܒ����p���2��2��ӞZ��j
������pО_��z��mXXe������β���u�|�J<y>K�t:Ȭ��	��tŞy��^�y�eF��X,�C�������P(�����mC�(IEND�B`�images/editor.gif000064400000015063151165074610010001
0ustar00GIF89a��������9c�_o����
$j���y��4Kc���::�X��ې����Ҝ�����������Ά��ޚ��f�B�6_�����������������������`56���ې=8):����:���Đ���f����؊�����`�����������%c���f��/i䰳�`��fĸ�fS�X�̀��Y]f`ې:65���S�������f��8*����_`���·5ff"X°�݃���6������:5������Aw�ff::��::���M�������˴6ƴqs���ܱ���u��@`���mLp��xY�:���f�Ѝ"Z�_ϰQ���Wn�:ff����::���`_6566``��5���1Q�:f������f��f��::f:f��ې��釫����f:6��ff^��ff�۶f�Ά���:���������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:8ACA168434F411E0B81B9D3E1ACF6461"
xmpMM:InstanceID="xmp.iid:8ACA168334F411E0B81B9D3E1ACF6461"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:89E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,��=	H����*\Ȱ�Ç#J�H��ŋ3j�ȱ�Ǐ?�I��ɓ(S�\ɲ�˗0cʜI��͛8s��ɳ�ϟ"J��ѣH�*]ʴ�S�B�J�J��իX�j
�i�ׯFA���u�ه`ӎ����ۙ�@ɝK��ݻx��݋�+J�q�
L��\�'���v���&�Ly�⒀+k޼�2T�Y��V2�ӧ=�
��5g�AI[-g��u�f�唙}�S��Hi#��{��榇K�[<���u�;w�|;��$��O�|���ǟO�~={�(�Sn��v�ڍ��K�k��1՝H��T�K�7x~��~s5��xd�ҟ]�G�Z8!B��a����`r�}�����0�H
/�Ȣ�7�D(&�gcK>��{>�hҎ����/(����a����'م0��v$jf�a���0�#�?��R����I�ɒ|r�`��r�a�x����cR��t�$�iI�\VF��+
Z������z�(
X�x�6�H%��Pi�^r(gQ�h#�B��j��&�F�`xE�:R���Z$�A��i@������q'�(("�%xR�ׁ�%y!��-��lb�I
��mM�
D$�f�%~�ژ�9�z��/��+�i�����R����\0(�}�a��''b���a��h�(J�
��wr��N��F�ea���o�6�;f���:k�,+IKp�h"}��{��ȝ�N9�/���#[��-�u��ib2�2�]5�1�m5��~�3P:�8�J�2�q���JHΝR�WB"W
X{8F�n���bF
Mj��^G	.�ߪ��aO��Qf��4�*8Ou��������y��b{	��#��y0��t�z�Zy�NN��z.�����o'�h�g=�D���c�a��Lؗ��Ԫ�As���?1��'t
fo���0j��e~j��N�%���}�C�J��;��G�����O3��^���	P}7k������i���R��&����W?�f�6�_��6l���a�Kt�!�0�<�Iq�~��4�o<)NтI������x�!e��
�E���hL�s��5��p�J�H�:�Q)s����Ǜ䱏��
#s�A�|�#"�H5*��_��
IIV�(@�lb��]%�6y�D2�OL��@!Q���-�
E`B%��
�4�jʥ�2%f`����(?1�S���K@�jZ�ք`Ll�/(A%X(B@�4�
X�%i��`
_�	��x�$
��&���|�_�+I&K���n �.��n��
�%�%3'�[F ���
p\S�/Q��ٙL0����
4��T'h�s 
���L"��m@$�����Ę
�@��d*�iS�`�%Ԭ�FE
�x��iJ"�����0J�P��!}
'
��A�2u�#U2Tz�Ā%!AD�O~��&<�	X����
��dIe�R�jL�N��l*��	��$P�>0�
��}hK@��%Y�Ww�����%6�
�`|�i�J�Є&�!p���08pȫ^/i������Da��]2���@��	�
u�d��z��e�gF�N
1�H@��x�(�/��yJ8�c%Im_��݊@-��J��7�`����\��!CK{��.�4��I��wb�Ɵ��P?�K�ⱖ��	b�S'25�J�	b#��d�d�@^s�������
4U'�.x�I���h@e`'�e2�gN�Jn�	\U$t6	5}�[�b��'QC�@���
�A|��,��X�Y�s^�
�ÌEBc���<��Q�N+�$�z�[IT@��-�J��W\���obGR��&�$Mj�\�
�ep&pJ�N�(16�Oˆ
<[%A��GB[�P�^Zpr_@6�'��C��
yȂj{�@:����pLk�$7�q���X�G��Mi��<�d��&l?�F�z�s$��?�N9%��S�:�(ן��2*`r��`�hp-J��0C۔5���Mm_5�N�\����
6 �\-�B�
T���`�,��&a@��=�a��aL�M�젦�nɟ�&��J�Q�굫���
�Xٌf��{�Q����<�j�>�M9蟰���
(�
^�Jސ�BG]�m���K�84�	z{�~&(����%���Y��a�������'t	b�̂@&0��	�Y%�w��?�Ƨ���1*hb�$v�B�
�5A���R@z�(�
0�@q�3����BS�
y��^R�K\p�L51!UH!�E�Go't�U)�n#s�~�g-��DpiD�����A�X�$O:�j�n��IBr;1x$H0|1�we҃8!J��s+�	���7F|$
D�U��ySH��u��*�\wEr�}_��^�p�7�d(�O�K%�^3QLN���LH��v��X��6��X���Yhu�1�}t�
r@�����],1TP8'pH8H;h�]�J�Z{���TW��*{�X�H�؊�8@�HPt�h�x��&�8��H�X�Ș�0q��،�HH��ҨE�8�֘�̘���؍��p��Eو
蘎긎���T�7q��X���𘏂#�6A�������8��X�<�Y�|�4���,������$A������
��踐��pL�Ue��,i���i��$�崓!�#�jI1d(T0Yy����-��Y1ɓ4i��(9ɓ��?�D�>�jE���q�@Y9Ք��#�Y��"��	�Y�i�vƕ#1w��SV�9�p��u�u�dRh9�j�q:IN>����	IN@Nl�}>Y@�BY�	�)g�v����9T߇q�%T�w����jɖ���}��4�!����"1C���Y�,�	`�I��^X�q%���	��!4�b�@����I�P�P�w����$����-�����qgI�6d�����ٓ�9��i�:��!PT[����j�)���ٚ�U`�"1O�ɟ�蟏YN�	��H�����IUŠ5x���<_:zsW��9
��O)e���8�䔞���i�Yl
���6�+��	���u�7���Rڣ���'A�@��$�(A�o���	�*�0!�+Ѥ��:rz�C�M�q^j��I[��@h*�'��n��q�m��H�9q���c:��_j#��������KZ%i�ϸ�1��	َ
J�*��H�0a������ʪ����
	~^��h��/��
��z�O!�Ⱥ�ۡ����1F�:��Z��z�ؚ�ں�aE�����:��Q�蚮꺮�ڮ�z����:��Z��JUt�����گ�:�;�[�+=�z�
��۰R��;�+[�����tq���
��"[�&{��J�(��,۲C��.�2;���4�{�8��瓰:۳>��6��B;�.�D{�H�F��L۴��N�R;�<;�V{��
�X��\��Z۵`��Z�b[�fkD_{�j��ؑ�l��p{Cd�t[�%2�v��z�n��~��}�����;�����{���������������;�����{���x���۴����+��;�����{��+�����������K��;��۰�{��k����������«��;��;��{��ˮɻ��[������;�֋��{��K�ջ��1����{�;��;�{���黾��%����B�;��˷�{�������{�����;��[�l���������l�\��{������l�
��;�$�&|�ʛ�*l�,����0�2<ú[�6l�8�ò��<�>�ê�Bl�D\Ģ{�H�J�Ě��Nl�PŒ;�T�V|Ŋ��Zl�\�ł��`�b<ƀ�f�h����l<�n���r��t\�|�x��z��"��~\€�(<Ȅ�†|�.��ȊÌ��4�Ȑ|Ò<�:\ɖ�Ø��@�ɜ<Ğ��Fʢ�Ĥ\�L|ʨ�Ī��R�ʮ\Ű�X<˴�Ŷ|�^�˺Ƽ��d��|��|�e\�B{���ʼ�:��Ό���4;��L��|�kk��ܲ��ͨ���\��<�&[��̺��]����ΰ���|��\�{�L��ϔ����I����}�Dk�
���м����=��\�-���ռ�����!}�=�Z�&}�(��ʭ.��0�2=�4�]��8�FΚ�<]���@-;�D�?]�H�C��L��~�G@S����X͂Om
P�'Q�
�Y]�F��\=5pam�dm�p]Q�i�	_-�q`�����
l�֟PՆ
�.���1Ն��x=�
؈�E=�Q
�%��0�n���]]��v}`����%QS�գ��_M�=֤M�M�D=�uMU0^�bM�t�$�֪=b]�-��օm�"�ڽ-�-ܻ��<�����{p�ò��=�&a��=�-�%Q��-�m�\m�ۍ�8�ݫ=՟
����}�"a�]��m��M5��k
��������M��j�$��@�
�^0	�
���IP��~�#a�@	�-��	����-�̺��M7N�fm�^9��Y��@>�y�D~�Ԉ�J��6��N��P�RN�;images/favorite.gif000064400000001160151165074610010323
0ustar00GIF89a���������ۏ�������������������������Ó����ĺ�������������������������������̯����������ٌ��������������~~~���xxx}}}���bbb���fff��������񒒒��������������������������������禦���������������Ȼ�������阘������픔����������������������!�M,̀M4���@M3��7��?�

<8��>	�E.��	
���
-	=�
	$L&+�,&J$%F9���BD%"6
��":1�;/����Q�~&�@��
#����( �!ɀC
����(`p����$���	6�A׆�4	;images/favorite.png000064400000001277151165074610010353
0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<aIDATx�lSK�a�Gg�0���^�!��Q�
�U�6�[�j�NhW�p٢E�V.�
�E�����@E�3��:�͜�<�������'���t��^5<�=`��_��S�|2�d�jU9x��F$m���3��cdO�z�f<ϫ�6���"e:������l؝k����vdHRt���v�H�x<>�ey���N�y�X(]��N�S$�N6�i��햒�&�ɭ����F��l��
j��F�f�Z-��DQ��F���?B3x�t8�P(���ze;�K�$�N�c��j]��ۃ����T`������U���F1��/�KĈ���\���O��nA>"�V��
��ng&�
M$�7m6��q|u���5�z@}���Sש
�p�^o!�د[�H$X��b�AO��l4y�M(
�l����U֘J����0}3:p�����`�1��b1S�R���(Ý���{��l6�"�=�Lr�"���Y�:�N7���T*�p���f
�h��h̺�n�\.���K��b-о���
6G��}E��Z���R��!�N��(�D�0-
o��x(�\�X�7}s�KIw�n�IEND�B`�images/favoritehover.gif000064400000002032151165074610011366
0ustar00GIF89a�����ʔ�����u��Չ�Ճ������0��!�Ӈ��y��"��{�ӂ�Ԃ�ҁ�с��
��v��$��'�m��k��(��3��h��e��t��s�v��"��#��m��r��p�����������
���ӈ��
�� ��
��
��$�����(���9��@��A�7��)��-��1��������!�����!��"����"����#��"�����������ޢ�ޟ��Ր�Đ�Ï���Ց����������������������܉��e��d��bϼkλk��k��a��M��F��D��`��_��U��l�{�z��w�Ո�Ԉ�܆��w��o��n��m��t��t��s���!��,�������[�(�c�@Ө�(���7~�0�Ȁ,W<��@K$@�p��5-#@�0D<
`B;=|H���:��Ӎ�Fp�ʎ8VT��9F8<��h���hѶ���ŋ4j�M�#ljAR$`���=����b/�BsB0
�D�蒸��%RP �B��2Yb��b&L�3�Y
�	�;��g���p`�
6lP����(�S�D�A
<h��r;images/favoritehover.png000064400000001365151165074620011416
0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<�IDATx�lRMhQ��٤�&i�$�؆V���V[�B�h*B����x�&DD/�^�"�=��_�R�Kk��Z4���%�����L��6u���~ofvf�Ǡl{�ܺ��W>�;ę7|�I��2`�X��-���
\/�g�%�f���/;�U@XH�e���߶�-��	��0�I�P�,��|%�1�
��Ȯ~��T@U7�(U��륿
����p]g�|���6�Q�f��˒ɒ�(�q���dlm���}�D�tu'�6�.g��?�^
�pN8W[�ֵ��t\�%/7�0�+�.�E�+~3W���}��8��{&�WW��3�Q���j�����昮e@�r����Bu`�.�2�R6��`�#��p���ز���sa!���k�ח�'�^@�7ɨ�߁H#����7��s����n7K#P������pXY����s�=Rk���<6��T�Dk�
笝b(�r(�(���e�8�C�H����i��������$75SqRMP�P�RYq�˸
w{3j��ɫ�1>�3�͚7U����^�)��
������1�i�u�:��n8�������/��kw���Hq.�����M���=H:HۨFD%�I��g0h��G��x1
KCI�t��up�.8F��8�#�q<,3���DIEND�B`�images/filesave.png000064400000001023151165074620010320
0ustar00�PNG


IHDR(-SsBIT��O��PLTE��̙��lkkBB@����333�����������𶶶)((L^>�����zyy����癡��������SRRg|V����Ν����x�i;;;JLG��ֱâ���^]]���UiE�����rrr"!!7@/�Ѩ�����ZRR�����շΥ��RJJ�`KK6tRNS�����������������������������������������������������H	pHYs��~�tEXtSoftwareMacromedia
Fireworks
8�h�x�IDAT�m���0`�Lƺ�ʼnΉSO��d����K�6�$�Z7]�~1~NE"7���~(C��\��#$����
]3i0#�Z��Q��$��J�U0q�M��t��FA��7Yx(
,��p=U����UV3���7���w�ju:��3�IEND�B`�images/history.gif000064400000003272151165074620010214
0ustar00GIF89a��==�nn�33�~~���//�����׾��������dd�����ږ��������������������GG����~~����֦���cc�����PP�����Ѓxx�ss�mm��\\xff�yy����NN�ww�������66�}}����FF����==��ĺ�˸����߻�̵�Ɲ������NN졡�����ȡ�������פ�����������񨨧����ë����ݼ���TT����ZZ����m[[���!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:BF4FB609352211E0B0A8F71350810230"
xmpMM:InstanceID="xmp.iid:BF4FB608352211E0B0A8F71350810230"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:84E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,��TT����TNN���N+!.��!+,��,4%C>H5�'='%4/2
 2P��/���*<IDA1;F-*L
	1M-3967@:JB?EK3LOO��M`D���#"�E����(Q@4�ɇ$Ld�@�&&H��
��ɓP��²�K�#;images/history.png000064400000002027151165074620010230
0ustar00�PNG


IHDR(-SPLTE������������q�ݝ����ؚ����ۡ��l�֌q�>v�C�����R��Y��c��r��z��ž؇�ى�i�ӈk�8�ɞ��N��V�Ц��x��k��t����Ճ�a�цy�E��_�΁���併��y�^ݲX�r��xܰV٫P�i���������߸�Ẳ�hרL�d֥Iڲe�ņ�À�ňָ�շ�ڿ�Ƿ���ǷH@ǹ��M�ʰ��[�Ǻ��M@�B<��[�Ǻ��v��|@��K�CRO
}}}ǼCRO
����Ìǽǽ�ɇ�-��-�ǻL�l<�`<��y�tRNS@��f	pHYs��~��IDATx�U���@����Z�%�~	-���>��>x5~�1���	"J)"&J�l._(�
�J�V7�@��*�;V��GfOZ�iǚ����Ȝ�����:��qX"0k1���2{�b�?����X���`����z��b�#p
�!p?��E\�_n��]ލ�Ǘ��Ns��IEND�B`�images/icon1.gif000064400000006364151165074620007531
0ustar00GIF89a+*���θd��������ڍ��u���ل�����tټS��������}�ݙ��~����ȲZ��������u�����ۅ������Ш�ܑ�����cѻe�ޖ����������r�ք��|�ف��ʽ�;���ַK����܉�����g����������ɰJ�а������U����ߧ��v����[�ލ�����]��x���ݶ�����x�؈������ǘ����̤5��������j��u�������τ��״#���Ԁ�����������ߚ�������������{�ܕ��n�؈����{�������؅�܍����M�ي�Ԁ��z��~����ׂ�ۖ�ې�ܐ��������~��éA����ڈ����������ۖ��������܋ϻp�Ԁ����ߐ�������z�ݒ��m������ے�ׅ�ւ�Ղ�Ԃ���̈����m��g����ޒ�ܕ��w��i�Ņ�����ޑ�ڋ��l�����5�����z�����y�ڋ�����{����z��z��r�<��վ�A����،��������������ߞ�����z�箼����݆��p�Ϝ������zѾt��~�ݨ�������������ד�۟��Lݼ3�������ΔǰU����ց������Ћ�������ۇ����Ԥ�ڮ�������������ב�����҃������n�ׂ��t���!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:6842CC35345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:6842CC34345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,+*��	H�
Ay�*\Ȑ�Q�y԰�E����[���3.�,�N�7=/�u	ף�D#E���HO�
��3C�1+�w����i��"J5�5��P$z|,m��R��2¶[2u
>d��l�
�`�.	,S�h1��"o�ΥaŊ4��(��"�^#��("�paĉ�`��s�1"�������ie��ٳk��6�/�
+Vo��n�H�Dh��ˆH8���z7ŶҬ�a���Xc���H�O��;.ܰ�B
Ob�7O#�|�
2ʼn��VQ�HtC�s�IG�G���g��Pс��CA�@&�D'���p�;gXJ$���b�&촟0	���S�
�t���H��8ꨉO��@-h�H�d�TY��,���Ι<yc�;Rie-�d).����@H�J
���l��!9��s��ye,qj0g�w6�#��K���
�PYBʒ�#��΄�4�wNZ�!���ĬU�At���
`A��cJN-��	Pji��>�&F���b�$�:�!+�AA�`J���
o�@EO�j��hGa��>�T�&��Q�!{��A��,(�J5�p1��Q�&���/�Dd�;}�kG�l!�/����(���

�QF��1�%,��3p�>���6�ȝx�E.)XaEB�#6�qJ�Xg�&�H�K�p��4�RC3�X��[<����p�@��"��@2�|����-u�2JحL���aI3~
)�"�$��Ӊ!�P�+��aG�l6�
��:�~����l����r���,:���*��IM��B\����>���r$}���24,@"!�!�^����pQ&����H��#?�}��?��@��2`�&\��$��
~�#�:�	��|��۶���j��0�@��"L��R0	J����4��=

�F)D��y�B ��3��P�LD�*,E��^p�D �T 
HA
��0��R[/DPD��X�i�A)^T4
!	Ix��7p�jD	��A4��=,���ۤ�8Rъr�
<!>B���@�>
dL:(�*x�#��J�2���9؀GLjR1@fpO��
�`�)�Td%\izA��Do��h2�
�f`�^R㋱p�~PL>,���d
��$����6���^�����s9R(�{0�P��m���e�9�z��_�G,�(���
�'��'l2��d(7��>~3���
(��j@����G�P2���Y��IQZ�Xh��؁G��զ
=�Cu��V$
;images/icon10.png000064400000003262151165074620007622 0ustar00�PNG


IHDR���tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2AD61F2350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2AD61F1350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�����IDATx�b�bdd`d`Hb�0�f�rbH
�H��&���͛7�0ӗ�A���+������q������W�>�@
=Ҍ��@4X���3@J�)�3=ְ�]��͛���Ȉ2<}��
�$�j�xszX�+��01�zo�A@�_-D
�fï_�Y��H�Ř��D3<bw��.�{�Vx�g��sx�|���IƋ�_^FCC�AFF��˗/�o�fx��@1��
)��9@�H��8��Ng��`۹y�(���l��lLl�f���;���6��_�����/�n�Y��R<�@����d3<�qcx�����k���h_�����Ke`X2HJI�t��N��uvf((�<�;���,�""�ll���}a���;��{b<#3�n���"���:'''Ó'Onݺ���Ã'�'H���N7�����7ÉÇoܿsg&P|&�"Fp�"����lY֠��&	�_����'��j�/��:fo5F�����fU]5s/���^|bf`�f��=�ߗ�@��0�,��E10��M[(�����ܪ;���~d`8s���o�~00�)�+��,0����g���Ucdd��N���0H���K��Ԋ���_���Ϸ��Ճ4jII���Z[Z��=��p��5���a)��@�;bݺ=�6na��L;zt�L������`�,,,
�?�0���G?�4�k�t�a����9IEND�B`�images/icon11.png000064400000003255151165074620007625
0ustar00�PNG


IHDRhOGtEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2AD61FA350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2AD61F9350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>��K�IDATx�b�e���f�����s���b

5����I��?����c�b���q����ܹk@���w��[�������Ĕ�Ռg��?�Qn	3����m�����F�?�i``�@
�S32*n?������{��h0899e������[�f���=��`dd$p�ʕg
I~���WW�r�bjg`aa�eddt:��������_�X��쪪�:��2���c��0����'L^^-�2`122<y���R���_+&GG�O߿3�+#C߬�?~�0d����+y����1�I��"%��g�Ʋ��?��a��cNF��@�M`���߼��0d���v�B	$`��bffa
^~~G3[[G3SIQQI���_??u���S����~�Co1H#��@\JAA��������G=S�2�881|������_����y>>�����EL?��I��+���4��۷߼a�r�Ço_~35�a���/��d�KJJAzX���t($@�����][�1r3���FF��b���AzX��~��|||������İm�pP�C
@ro>f8�m�n�f		��gN��v���O���J|||������	��4��۷�Ksr��ڹs"0��d��ҁ0��
++�0����>C�0����G
�5�a�]Z;�IEND�B`�images/icon12.png000064400000002455151165074620007627
0ustar00�PNG


IHDR	
D(tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2EBF7AE350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2EBF7AD350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�/_�_IDATx�bdX,��@����R�8î���0U�
�����N#P8�P}��W�_10�}��ߏ��#�B�L3�i߿g`ggg�|fkó_��g���7�7�F

����101,[��!�EML�������]C>i�7.0��󛁃�C���S�~��Pf`x���#F!F=�f��6#�
C{4d�\ե�Ź�8ٿ����Ƴ�/o=��hQ	#�l�u��N_?}���ϟ?�������/>���������3<������
�3}����W�l����Y���2������_����W(4��X��0�
���eC�]<IEND�B`�images/icon13.png000064400000003331151165074630007623
0ustar00�PNG


IHDR�Q�tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2CD4567350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2CD4566350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�76!IDATx�b�bdd`d`Hb`������x
��"\
Q��+E�a�/��_W����WN�q��������
�iF�y ����� �
6#s�.��r���e��q���~������*p
�$���xszX�+��Hb,��@���?���F�~j��<�Cf�0��L9��r�wd�7}KdfeeX�ޖ3�_��O��
��L�,u,�N���>�c���K_�e`٩��E����b��!�`�!H���c�W���l;7or}���>`�����l��g�>p���X�?�9@\���_?|`(���$�#��@��M��i[yZ?-���������eM�ci���05��]�k���l�e�����z��=C{�"���0`d������6�z�;�_R*t���|hX`,0"�t
m�tskk�_�3�8|��;wf�g�+d'$P��ߕ-��u�$��+��3�D5\m�e�A�
nN�c���*���0�Ab
94�@?�(3;C�+O��nJ:&}F���
ι�[�޻r���U�(���:X`��@CXM�L���=B�@�����bBR�L�u$�R
��$4�7ډp'髈j��(�sp�3<z���)�榯�>s<`�t���:�5��a����//�����Y�}�����W;7;p���t
�_��1\�~�A����7?���gœ�2�lU�P2f`b<�0�W#P�1C�*qk
1�IEND�B`�images/icon14.png000064400000002353151165074630007627
0ustar00�PNG


IHDR		��6�tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2EBF7B2350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2EBF7B1350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>��u�IDATx�b���?01;�Ù͌�A"2İk1����e�A4@1�>����/�=��H
�o5:c3�Ԯ��}��O�US9.��6��&�������r@�fٿ�g��}������ve��k�篻��������R���b����𛟗�
��.��V@������3X���	�:�;�>PyYl��%,F@v��e�ӗ����cdxte�>�X�k̟s,
����3�c۵~��o_���f1fff;w��kk�4IEND�B`�images/icon15.png000064400000002552151165074630007631
0ustar00�PNG


IHDR

�5�+tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D30598F3350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2EBF7B5350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>΅��IDATx�b���?�R!.FF)I
�b��@�Y�����h�b��1}%C��?012V��gf������*��W�ff��w�PP�����۫��S�������h@���99g�M����������������T��[R�ן߿Y?�}�����]���{��d��$׹~FF�.k�bf�@���K���N�tv����)d�Bŝ����;;�Y��V�����q�O�TUC�f^11�W����?���y�d����s��v��Ȩ���<I��LJ���L��������-�ǭ\\߮
�ocf������������5�X�� ~�nA
������-�
��@1N�?T������IEND�B`�images/icon2.gif000064400000005664151165074630007535
0ustar00GIF89a%(����������������������������������������DDD���������������bbb����������������������߻��JJJ������������ppp�������ᠽ�������������ڄ��������������޹���������NNN��Կ������������֡�����ѱ��PPP���������VVVMMM������������ð��������LLL��̉��������r����飣��������霺���Ɯ���������������������HHH�����������YYY}}}ikl���뮮�eqy�����ۍ�������������׿��έ����ӵ�ں������񧧧��˚�����������і�̊���������������������п�����������dlq��疖�uuu��������ݑ�ȏ�����������������ꄉ�����������ͥ����������������RRR�������̤�ӡ����䕕����������fff���aaa��՞�����WWWzzz�������ۘ��������������������������䤿ү�����������ddd��Ϥ�Щ�������ߖ�̙�������坹�����������������紴������������vvv��������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:68679A7B345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:68679A7A345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,%(��	H�`�����[hϞ�~#
에a�z�����<z$8p�^=�����/��#
����$ ��y���R���{�	
)�)��J�����{�<Lh�`�y$��J6a�|!�s�^D"��j��?]�t�#��+���e�݊�M@$`�5��̓��G�+\�y@�<�ȯ@��,��f�3�t����D�H�U��If][lX,��	F˽���a�J���C�^
����o����_\��p{X����v{
 ~!
��4�V�`�Ӣi}B�7��iȣ�+y���
XR�Ea�O>jt0�63Գ�?�$�Yt�eqA.^Txa>"�0��3�v�죀?
�r�&���5&��ъ+�����3>��$҄	��ca>+dSD!'�����@=�]=�cO��P>�)�
qL@���v�$�ϚW�J(c
��S�B�p�s�K�|�k�x�ϸ��]�p�-�r�=�@ρ^�C�=��p�0��Nߠ�>F8�N�3O>�����L5�#�:�#�=0�U��>�P��b��b<!����2�9�īPL��>�;m���C-ȫ>�`&i��n����u10>+����C@>�0�0��f�>�ˆ��sOH�t�����>+�AԼ��66ȣOP��]�3<1	o�SNS��	=*�d
�Ӱ�S��b�O�C�<��X�P�=g͌.�M$�
=<�C��s��x�<��C�p�4}L1�!@@F�4�w���>,�-��%`|D��P�pyd�y�[x�tS>�B$3`�������CI!�ӹ��7��1(�v�O=������cS\D�
�� ����P��OU>�?��O�@�ЁX
X���	7`�҅@�2�@D �NT ��
�{p�+�@�8<`�@��GH@H\����l���3��8`�
H��6<�}dx�ꈰ<�z$P��fv*i�)����#
;images/icon20.png000064400000003503151165074630007622 0ustar00�PNG


IHDR�Q�tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:6FBFC48D352511E08D5EE3222AAE0118"
xmpMM:InstanceID="xmp.iid:6FBFC48C352511E08D5EE3222AAE0118"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:84E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>
n֣uIDATx�b�9���o5��ؒ�?�
��L�/>0�g����O�~�
�����˾��?1\|+�,�ga|�8�ߗN�쯴9��Д���?g�	��on���=ß_J��bd�'����ÇW^530_��F��F6�'B"7�h#�%l�2���r�8����X��Ճ+S��c�ϔ~=5K4�фo�Rʌ����bx$lS�g_�T���^q\{�AZ<��+���g����Ab��/c;���3f�����
�տ���f�	���10��͹��3Ōb��������{�,�w2;�迡�{��2����ߟ�_~11ԯ�Z�dj�p�!3#3+������p���O���0�K�1�������l\߿}cay��#�??�

�LL�2�3p]��f4p�'�-�!�.-'
+%�%,���)&&�0�P+�ȟ&�~��$�W�(�?��+i>ͤXL�bjHł�b'66S�`kI���be��
151�Jd���'�k�t�w�έ_��n��<�^�:
��������e���ұ��W���<8UT\�
��*�a]��y�'��ͣJ"�J�U���0&�b��Ţ�'W���!ծ	��nhw���)����l�58�LGh��j��[�)x�,��oF�g������v	F˨o�k�����
�9���\�D�e�&�PHXg�<�[�L�[a���
���H�n���J�P��/���)�\�
�2TUE��#oK�p6�ᮕ͑�
��N8�&�U��������'�^.X��+�5�}�eUjP�J^��XXV!�c{ǘ�_�Ci��>IEND�B`�images/icon3.gif000064400000006072151165074630007530
0ustar00GIF89a,-�����[��������\��$������+��A�����5��z��4�����6�څ��w߹��@t����d���������d�����,�����%h�9��'S����)��}�r�+��j��K������,��\]^/��+}�����G��R��������b���9��kkk��g��K��I���<f�6��M��ttt<�ꩽԋ��T��U�����h��2��B����]�C���������%~���Z{�:�����7��P�����s��{��B��Z��2�����1����0��v��I��-�������[��Q��&��FSd�����ޕ�������W��=��6��9��M��3�����@����7���6���eee
��4����3��d�����*���yyy���nɓ���*�羾�0��6JeK��+�薖�1���3��Os�?��?��7��E��!}�����5�졵�_��L��6��0�������������������������������Ԣ�T��8���/��:p#Z�p�u�|����v|�_��R�󎏑V��1��4���g����$��^��$��?��E��:v����eoz8��'�����ո���ԋ�H��Z�񰱳?������������q��[�M��n��;��#q˥�������������������ǟ��*���0��M�Y��0Z�m�1��/����q������5��Le�������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:68679A7F345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:68679A7E345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,,-��	H��
n��X��
_��#B􀍚
xK��;b㉈<$���
�;�H����:Bt�+���țӰ;�dd[�4����5�
�DN�0��F��W�Q-m��4��)D(��M��+8����h�6���`ȐY�x��N�rX*�ܚL┐�a����҈xr����{
�Wo�Q<�d���Lh`�Ek:$��	�.^�ȸ�Z����>�d�T�n
��5D�
>�'�[���,�4�^�ٕ#"D$jd.\�խ�•O�S�
�()��	ډ��1JKtT
�8�AC8+0pQ���$z1�X�ׄ�%��!Q�#�N1��j���Sc�@�@x�
�q�#QL�N���k�'`��/\��J]ds���1BM��S@a�kl�E;�ĝ_��Hƣ�t�dl2��f��A��ਣ�t�@6t�0L~�I	(���#���C:���&t��hB�37�1�0���,"&N����$!�BADZ�
qC�u�a�=�z�3:
�C��4�W�
��7<�-��{�-@�<�9���(�_t�-�W��ǹv�!�Tr��
�SP��9#�@FI�b��AJ��l�&a��<��`p��x�L1(?h�?`s�.lV*��B�5g���C'�-�TF)�<�7!ts�@��J�8r��\�0�;�`�
��p�-YP2�@��
7�)7��B�l�
=�d��b��8�N$�x'��H
���D+�!4��	�1�� �L	���(���@�
�b��6+�
,��F$���Kq@C"@!����O,�%؈��Dh!(B�_�D��A0�_N|��
���N9���n�!����l�H`�D���<B
��pP������?LA�
�c8� ԆR <�GHB����@%��L��8�+V�
U��8ġ*v�C���B����p��hE
��&:�	�b+���%��"1�)V��``P+X�2�BhD#ˈh�@̢)��D�@ṃ���PL�*N��f�hX��F�Q��b*zHH,r�t�Y@����菑��	+��GV���	��*\1��А���*Z�D�җ���*	�[�R";images/icon5.png000064400000003224151165074630007545
0ustar00�PNG


IHDR���tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2CD456B350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2CD456A350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�LG��IDATx�b�e���f�����s���b

5����I��?����c�b���q@x�ܹk@���w��[�������Ĕ��g������ֳg��@�[�la`����ATT����?
�dsjFF�����;xl��s�h0899e��	������������###�SW�<��	���}���յ�h�R
fa@��h6/##�P��������_�@�3䰴��
�C���Z�%$d`f	pq1d������׊�������(��e���!˷ϟ_i*+�~|�!��H�3ScY�ԟ@��s22>Jn+���o�~���`����
Bp�1��/�0F�����AX������������TRTT�����O�8q����?���@����'
�RPP.(,,#)
����Ȱp�l���T���gx��ç��������"��?�$���
����[��o�0\�pL�0H$���'�]RR
������?���""`�\\@)��&;�����yxx���,ml�AzX��~��|||�����a۞=�p#<��ro>f8�m�n�f		��gN��v���O���J|||������	��4��۷�Ksr��ڹs"0q�d�&)aP��"AVVV%`KAS|��3`��ϟ����7)c[�&�IEND�B`�images/icon6.png000064400000003420151165074640007545
0ustar00�PNG


IHDR�Q�tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2921D10350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2921D0F350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�BIDATx�b���?0�}��A���b��0=xv����?��j&�����2���>g�{�!��7�7��~KY�\�\Y`�S��ݍ�[���8����߳�������m��b��k2�<l��׃�ɭ��ĸ�����������X@\9SL��ũ�S�f320�et��aX�T����\LL,�@��N=�dh^q9��ݛ7�N�f`Q�f`�����=û7�9XdVJG}3����={3P����@|K�A�1@a��O{�8���Yr��SR>�?x���Ӂ��
�"��
fN.QFF&��ظ�\\����c֟3�D�3�g`dfb��0p�-	c�����}�l�33����ߓ��[���Pr}�Q��,�C^��+�9Z0c5�?޻G�3��������b���.�/c����@��oB�z
@�T��0EO�g�T[�:T�RqP�)�Y]�
"(�����I�E
nNtRp'AD�"~�jL������E|p8��=�{�}Aց'�:F,�4��.Iĸ(�'[�H��pf�ua��ij��Kvg�X����s$��G{���;93/�HxA�W���4o.L�mw����=��"g��ߍZ=nU���u�^��`�dV�X��s#*.(W���5��H�Z&0<0�k%i��'�8Z�9ؑ�X�ߞuEA�i�x/��ȧ��ҳ�R�a���di��T����h�FqS,�-����ڇ�k[��R)hz8���/Dz�����fi���j��V�˕�%3)'*<qiH�ZJ
5��o��<�!X��/섐rG1�M�
@�;��/Y�IEND�B`�images/icon7.png000064400000003271151165074640007552
0ustar00�PNG


IHDR�t�tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2AD61F6350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2AD61F5350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>j�p�IDATx�b�����1�a?�ӥ����!P�,3݈cf8�?@1��ki�{������
�xs�����o��^n�
~~�9�����r�˗��F�7�ca`��rۛ�����U;@F#�%�@�TV�ɂ��O._fx�k��?Y�����Õ���Z_�ʠ"/ϰ�6v�)S��vƳ�;��ם�i01��2C���.�
����W�����W@�
h�ʟ�10|ca@HvIde%}x�VX��%��ҥ����@
R��J9��T�:����7~~~�G���M+`�T�b��gt�@_-_��PҔ�H���!���?�0L����o��3���ꆯ��>��O�;�IT����_�-y����b��,@�с���b5
�b!
��`�z9m���60�rw�b���9TWw������
>#G&H
�eu���b��������7o�~�����&&&q11!aa��FE#09��d��
�QQ�o�b`eee���cI))���g�&�zV`B`����B1�@�H�����IJ2̜5��?��+w0��C�
OQ���"܌,LF�8I�͚���-o��_���w��N�h�
�����қ3WM�Y���̌�w�g�����ՙa��U����j3D�ĀX�Aa��<Шc����^��a�IEND�B`�images/icon8.png000064400000003073151165074640007553
0ustar00�PNG


IHDR���tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2CD456F350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2CD456E350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>\�QmIDATx�bX������C/�x����b��3\�x�6���0(�
����g9��2*c����=���d�O99�1L��e`�"$�Ν;��
�g<#
𓗑�
$@�K�z좣]��/��@�nܸ����}�������2p�𰱼��w����i�7@��@�
�}���!�`���HG����7��MB������:�t�n�GQQ�
�� ��
ˇ���3�-X��3e
�|!!f��@���+�?�3ppp0���0�ܼ�
���d���q�ښ�����7o��P��VVf`����K`�)ŀ��'�4D�)&�A��dEi
�{h@�?
W��^�	�r�T�!I
�=l��۵���v�f;��������.s]�dRɓ���{KR8�鴷�sC��/a�'���x��8���ղ,�&C9�}�_D���J)��̖�lۆ�y���M�fbひK��4k����q2�1�ܦASFh��j�Cv�sӕ1�g���)�,3�'JR�X��^zPג��0��SZ������[�J)�5�#��
	?���]���L���n��IEND�B`�images/icon9.png000064400000003145151165074640007554
0ustar00�PNG


IHDRh��tEXtSoftwareAdobe
ImageReadyq�e<diTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:D2921D14350F11E0A714942B011F416B"
xmpMM:InstanceID="xmp.iid:D2921D13350F11E0A714942B011F416B"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:846B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>����IDATx�b�``gcKc൴dx����b��Kc�+������b0��g����~���F!!��������
F�)0Ԓ���r��-��w�2�߱��f`PV.|���O߿��������^�����GQ�
D�ۯ_�##Í�7�0=|�����bxp�*�77Cwu5H��n�Wo߾����d<uɒ�@���K
G�
���˯�?�����;���ݻ�9}z��w��}����g�6n<�Y޼y�����̌�$L
؁
M��������?@A�
��h4;�˗/��^���7�g���W��}����������?@�\v����^^T�C��۷G�8P`�\�ll��?>���Ϸ5�g�=x�b)�Ǐa�ښ�>w^�«����!������s;;$�`�����5�Yӛ�o`��l����5Æ����
6H$R���Çp�؁�u��Q�O@o%de��A�m60�ݻ����ɀ���ח/P�
2��ݝA__����ǧO`b��@r 5
�0}��l�_PP��ã!7))���
�"�A�P�A���ի��m��('���T$��ׯ��xq��_��j�.�?IEND�B`�images/iconbulk.png000064400000002746151165074640010347
0ustar00�PNG


IHDRh��tEXtSoftwareAdobe ImageReadyq�e<
iTXtXML:com.adobe.xmp<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmpMM:InstanceID="xmp.iid:59941CA939D411E093F792C51DC4B951"
xmpMM:DocumentID="xmp.did:59941CAA39D411E093F792C51DC4B951">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:59941CA739D411E093F792C51DC4B951"
stRef:documentID="xmp.did:59941CA839D411E093F792C51DC4B951"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>:k\IDATx�b���?0����O�#L�eڑ���^��@
��������������{��1\�\~��/���/�o[��'��/�~������[o��9�>}a���%@�m���?
�r����g��L����+ÑG�}������/߾�]�D���������_�~��v��7O

M�������o�~�����U��i��g�A~�Q�s�:Y~������/D��_R|`30p3�����;�_���0|�������~c���+`z��X5L��o�/޽{���/��I�7?�d`����;߄�Ƃt�$�}�����Wb����oj�
o�v� ���	
[�����$�e&�2�m������:88�Ł~cC(�
v�!Ú�o�E�6>`P7�b8�j&‰�_d�a�����w�	0ax�P
�B�%Db�:�믿ۮ��A��4R��0�^�a��X���ǟ?��
�A�
e
�ـ�0��3��*H#H`hd@D(&C�|>��AN��m�gP4��L�k��tXIEND�B`�images/index.html000064400000000054151165074650010017
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>images/ip.png000064400000001640151165074650007142
0ustar00�PNG


IHDR�abKGD�������	pHYs��tIME�,�ޏ5tEXtComment(c)
2004 Jakub Steiner

Created with The
GIMP�ًo�IDAT8˭�]h[e������c�4i�棍m�Т,�u��ī)�0o�)�Ee8o����R�]�GA��L�7�0����v+��\?��,Mr�s��������{.��~�8���)�-]�
,�
�X�t�����ދ�����4u�lj�d�ȁ4c�(ˢ\o��i���ɍ��e!�ɹ��������`��W�'��M�
d(=��ؤQV�9?�r!��'��h��Ɋ'2��yG�D�pZm��H�C�6y.����K��Oho~��G�x�hnC���hCJLC�$�h/C���
�죤�����i-	�<��R.r�
އR�+@h�c����\�_$b)���
 kN;�N��p�@f"����l�R��,B�Rl�ޡ�l2��Z^G�,-�Roa�<�K����6B��B��E��zːR�5��hi��!iQhR4L:]�V��d���z�8�þT�B�(HC�򷶊ÇƓdF������&M/ȧ�^�]�~��Z��k7�7
�;����sK�[x�
=��ء��w�
���v�Ƕm��*��X]�|�/�|�x��B��HР��eq�弢�p�k��9.��ž�V����ίs3S��/R�P<q��Ó�%��J��g�u��^�lT�\�c�,�8���M��hfd6�3�$I��,��f׮��<[;��B����=���N��խ����P��N{]	�?�>���pl7�1��IEND�B`�images/kb-icon.png000064400000005511151165074650010055
0ustar00�PNG


IHDR00W��tEXtSoftwareAdobe
ImageReadyq�e<�iTXtXML:com.adobe.xmp<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpRights="http://ns.adobe.com/xap/1.0/rights/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpRights:Marked="False"
xmpMM:OriginalDocumentID="adobe:docid:photoshop:4b6d0a6a-ccd8-11df-ba14-8629334cc09d"
xmpMM:DocumentID="xmp.did:562D8E6AEE9511DF883DE6AD8E9C48F8"
xmpMM:InstanceID="xmp.iid:562D8E69EE9511DF883DE6AD8E9C48F8"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:9DB61C9EDEEDDF119B3CEF1F2FC57A8A"
stRef:documentID="adobe:docid:photoshop:4b6d0a6a-ccd8-11df-ba14-8629334cc09d"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�u�aIDATx��Y[oE�]����iڦ�/-��4MZ!*m#�B������oTH��J
���(<"nMJis�M�ks�����w&3ݮ���BYi4�;;��s?���ɞ�K��`����׿�O$�咮(J���5�4���F��a�T��*�g}ZUթG�}��[�U�7]._�V��r��<����v3Z�th��a���?
>�#�����6�R��R��[,�X,�
����q����t$P�����R�����=��K�#��zY8f��X<�P��#n�?��[��Kijj��f��l�P"�8=[/�S�i���(���H�7�����2���B�A��6Y���Eʺ���2�͈��7�6�����56�׮�AD�U��:@d�i�ɤ��V��p�2��v��8�AT̉��N�U����,w:`'n؉�PήPH�ժ�����
lpKI
����cs5��	;m�V�幤��q:�_]]�A?�0��X�Z���'�A6�����h<xp�E"�ȧGɔ���|�y+d%f'��v�[���633E	�5iz<^�H�<�L�c"�L�e�Q.7l:��X7�fg��|O�Z��b�|.W�;N���	���Ž�c���u688���u�-,̓�(\P�x�\�bΒXK!Ub�����	Ɖ!�����
���i���y�f�9Nd1T,
:��r#p�oB%&'o�`����
@�@�JQ�gΎ���R@���*��_������
�D�.�F���	����j@�Q=:��;5����I61��i�'�@jPlzp
�KGG9 �D+y��C��;� ���n������4!xfX�
#�h�2P*u�mnn�L�����
#��̱sc��TqN�ݞ��N�ˎSt=��1��/?󬋈�M+�ŀ�}sb�JN��8�����Y�H|ȑ-,�1dg��E�	�m:�"BjEX��ȒQƮ�H\�g���bw�\D�E��$���,M(x22Ӧ`�f�L~<��(�ă9a2Z���8�(9=�QEQ;�ĭ���\2'@<x����s�|]�ɋ���ZxkG�����ؙ�'�6
",�L�9��H)�<J[EUQVq,'n��Vb���Y����ϙi88nV�+���P��-T�i�lV���9�C6Ɵ�`��]�T��ϯ9@$��;�ymy2�}����?�o
= 1E�:|��.km�-�*����9���8׭$>Ph
���s�zz|�Յ��q���oI��o���Ç�l���
���;�#�{7I}+��7���������ih�x|����Qj�J�um����"�R]0��Օ�pGq8�h�д���Z������)v��X�G_^^z{|���13J?!QjF�]$ӊC�����aii1��r��#I=�[�<#E���(�:e�)Ȁ��{Tb��;wf��?T�P,���/OcA�~�i?%Y��kUN�r�b�p�«u�+��?,���4��8e5ն��^=�J�A@��-=tBB\�`	�͉�*B�{�^�T��#�3����3�=:�Z�D�sCC��O�~f�SJc�B�_��5��d%�:��(I���m��f}�ϧ^��'7&�?�ø����
_�i��ﲭ��y�\E}*uT���2C�0��;�LN�6ɶ�&O*��kf�Tl(x"�R`uLaD�H�5��_���������K�s$��y���IEND�B`�images/loading.gif000064400000001323151165074650010126
0ustar00GIF89a�������������...���```���"""JJJ���ddd���&&&NNN���������888�����򶶶���������!�NETSCAPE2.0!�Created
with ajaxload.info!�	,-  �di���
���@�8�5p�{�۸�����@�.s��
E��B!�	,$`a`��i�����©�ҧ����X/(��;�!�	,6
 ��a,�$	"c�b�(�ϴ��2�����[��K���ӸN��U*�N�!�	,5
 ��ET��4b$I��<��uy�;�
�Ȅ>b�G��̑s9y�֋�*�R!!�	,2
 �di�ֲX�DQ��H�bRUEɴ]�:^��f�_Q�#����c�J��!�	,7
 �di�$q]���b�iمa�h㢶m�]
��a�.�M$��4_-66ˠ��R!�	,/ 
�di��DQ����r%R�
�5���p���Ěq��^-4CY��!�	,/
 �di��DQ����r%R�
�5���p���Ěq��^-4CY��;images/lock.png000064400000005563151165074650007472
0ustar00�PNG


IHDR  szz��iCCPICC
Profilex��kL�wƟ����P�L�W�Ya��B�!�T��t�&T[x�RdSF���†�l.(���C̐�`5�o�D�]�q�>{>=y�sr�?���TG��5�ƨ�c�LM��|H�	O����IMM�[k�\�Ѵ�)i��f���
����2��,��Hr�:�D�ԟ����6��
1��A�1j� j��UJ��
`\�V)V5��BC�
`o
�3���)�5�h*0�n
4c�����|#�� 
S�E9��_(�τ��O9���7KH��6�|�'?,

�6���p�.���yǘ���82�i�aS��`�^��hQ�C�'�D
QM���N��f
������}�;��,0�$�F��*'e���ŏ<3%7��S�z�N���:#u&۷ݯ�?6�}��O�����9��{��(itzl��/�$�$�$�-����[4�l�͸-Dz,�N�H
yE�%OW�)�����u�-��UT��k̵K��̾��7u�8��R�jo_|������g.�D�
���?�w��ס�g[F��X�p�q��B���t`��K�"Αޤ��cű��
�iN�1w'o>��w
v�0�n�˜Iq�*�Y\��!q�������5U�CL?BѾ�~^�Ĭ�@�$��rmHUإp�B�ŎΌ=�_�89�>%b�
����,N��/����s�����t���{��~�Y#+Yw�ܺq��߶���U7슮�^���o牢���C�~���#�cs��i<��#��ƅ���/�]��j��v{�~��ÿ�F_�q;	$x�HEv�<
("��C<$���%k9��6��r*���>�v~�
���2�z�m@8���X��(���Л�^����%T�o���?/@�%���׆��=
UG��F���C�1�')1��"u���5|ޭ-�EƗ�1WZ�����veת�_mZ�W��>p{������Kv)���������@_ӣ��	-խ#��)�٣��.]t��{��xCb��=1���p����ɪ���J'���ך�<�4���s@M"�	x�T!�V��e10�1X(��Q�����83
2/�(��b�3:��u�`�B�`%t��=�`�	�j�e3�@�O3�\C��̷�+l&FF%��eT�\
������ϴo�nw�P��O@XIDATX�ŗ[�U��k_Μqng.�Q�h1	Z1���>H���a|P����4��VH_jjKC[��B
�E��O��x��"��6��j:36�S�e��VΙq�/M���}������m�?�<�cǎ�$";D�+"�y3sfv�̎�e������gp���o�-{~�8õ��aڭ�n�b��
�_����[�n}�38z��O��y�f�S���9����9y��$	�CC�>}����_l߾}�8z������^ߴi3��E�?�]c��9���1280��5kX�n�Z�e��9s����w�m����>��Ç�����͛7s��e�:�N��ĉ8����C��drr�/2\��1���r�ʗ�l�2s�ȑ??��N����OS�Vɲ��'O���Y�~=�j�}��c�B�$_���Zycf�W���hP]��MLLąt���s�

�f4[-�:�?���7|cǎ��;�СCo�y����$���$IB�Z��l����N�@�����Q�v�����yV�ZE�q�Ν;�صk����}��Yz�U�v�uk��{e1�E��U�V�.
�:Po�޽��bs����i��.
�<��^xl���eO<�+K*�
yg��"N�|��i�+Kj�!���
�1��Y�����aL��������'"��g``Szl�;Mkf�i���X'Ϗ��	���X�bn��Z�p��!3[�Q��k͌�.�t/��X���ϟ?`�|'�3�Ji�0i�ْQ��1��a��Is���6���7	�O��&��Qפ���$�
{��S
 "6
���o,yr��^����i��{�l	�=HZI
X(���BB�-����,�lr�oQܺ�oþKoϊ�Q�W����PGWS��"=5�2�TjHއ�K�$��]aW�\���6�)�|��5#��py���:0
"�u�|�5���E��ܑ$�䐥H"
�K�D�6�����F����$�A�G\���M�>�SH=
q$yI�$��*���ڐ� mMkc!
�@�"�_����(H	���&�>��*"H����Md�a�AВիs,�D,�xo̯�]�e(]D5bf`�F�P���{@��p��~�w�a,�E��_a�)b��R��o��0�QQ5���K���K�ɑ$��Ȝpǁ�Qq�Q�ԈAq^��>��~�F�SEC$���+���	"w;`�`
t�x��^Ҡ$��A)�>�e$z�bg�/"��g��zGP��Ys���͍}�H"D%�,��k
�X8,8����p@���QC��C"D�)���JtF��z÷"��i����s��.�}�<�<!��8Ez�Pڣ��y�;E���Z���/�9O���.��?
	J�%��h8��R�hD��f �S�hq�E82
Do$�n�$��
���Dg�����Yd.�Ɲ����H��K��%���K��Z�Y�脲a��>�@PS���M�4|P�n7���]�q`|��;>ȋ�,zd���L�o�w?d?0�
��v��YT���
�<<>E(�hm
��Κ~;�y�IEND�B`�images/logged.gif000064400000000346151165074650007756
0ustar00GIF89a�͕߷E��Ԡ!ϘɋܱV��Zޱ:�o�ڻԤ٩/۳m̒�A�JƇ�J������a������!�,c�%��eZdZV �:���V5Q<%-7�@h<$�[n7�(*H��GI�IҲW�FK���U��@��^Nh5�
���i�q�r0&8�1#{��'�#!;images/notes.gif000064400000003322151165074650007642
0ustar00GIF89a��������򪻻��ګ��6Y����������O}�?f�b��[��U����۴�Ž��pppJv�R��_jl]�Ý�����e�����d��X����Û�����Ik�Uv�ez�`����𣴴�����잯����www��ܾ����̮������������>a�����f�����������������3�"�qn��������6Z�����������������ͩ���������������������������������������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:BF6A3C33352211E0B0A8F71350810230"
xmpMM:InstanceID="xmp.iid:BF6A3C32352211E0B0A8F71350810230"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:84E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,рg
"g"
�/]�]Ig8*>7K,T':fgcd!V]X?a^\fg
�`e]b_Aa�f
g&�eD����&g�[�Bafg�1Ǭ��g�M�9�UZfg�(�ɰg�+�-��fg�����̂3�8	Q�)Cv����=�@)R��&fI���#HX1�#l9@�ę+Y>`��d�0�(I�	�@;images/notify.gif000064400000000553151165074650010025
0ustar00GIF89a��������+����#��;��
����R������B��H��j��a��C��R��D��f�������1����y��3��
��M��>��A��,�ܣ��������������j��q��e��Z�[��s���Ђ��}��v��x3�f!�7,���px�T�H��bI:e4
�Id\4-S�*$9b0ǔ��<��eD-%���%
�(ҨM�,3�H!C*���C�+��7.��7

����7���
�\TA;images/open-ticket.png000064400000001044151165074660010753
0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<�IDATxڌ��K"aǿ�����2�)���̥Þw��=��֥�A��)ļ�Wlz�x��(QdEYGWg�̙y{�q�('{�3���ϏyG`�a\��闏?9�'�IqNhC�C��2���p^��VK.
r�^��G�n�K��@
�B��rP�$A�eJ�V��)'MӈH0D6�E�R��t:3�Ri7�ɀLi��
���뭚��r�UU�8��b�AH;�0j����l"�Lj���F�H$h���c{“"�m�(�nOde��
>��v���O0{������p���%yk@�{CS`�5��5�A��@���qTDz�!2fZ6�1���B|20	����<��=�Y�4����3�q�21�^��]��}CLb��]6����~Y~�N�4��"־�<���菴�9X��k*}�9
Q�o�*���q�.�!:E�&IEND�B`�images/open.png000064400000001777151165074660007507
0ustar00�PNG


IHDR(-SPLTE3�f���������������������˘�؃�ڋ������������ܣ��o��i��q�ߏ���Ճ��|�ό�Փ��e��k�b
��z��Z��c��k��q�ّ��r�͂��T�]��\��f�q��d��A�F�J�L��^�S�Z��t�$ګ3ڬ<ٯΘ̑Δ#Л5שH�ǣ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������`�ʎd���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%D
�tRNS@��f	pHYs��~��IDATx�e���0EQ@K��(`ņEc�JB2��~83w�]E�`��s�i*�KP!�[����%����
`6����du-�C}�1ݡ�a20��&	0���/�(��Zo��8��P�>9Pz���?�0ƮyI*�v�wVy��f
��$n�IEND�B`�images/print.gif000064400000003314151165074660007650
0ustar00GIF89a���僃�}}}���;;?��������������臇�����������ttt������XXX111���hhh������������������˙����⟫����
 
���DDD������yyy;;<vvv|||�����ϴ��<<@���kko��岲����VV\��퀀�FFIDDHQQRfffCCD��•���;sY��ť��667���C�������󫫰�������������f�f������ػ��IIJiiq��������������<i�___FFNTT`+\z����ffg��������ɰ�������������¶�ǻ��DDMMMZuuu~��YYY���!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:BF6A3C2B352211E0B0A8F71350810230"
xmpMM:InstanceID="xmp.iid:BF6A3C2A352211E0B0A8F71350810230"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:84E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,ˀq�Ok��T���SeEi_��J	@q4�qj^��<�=N���"n���".��)5D2PB(9Z8:'AQW1
;c#`6-�7#gF
+U3l��[L,Vf!\m�	�MIȼ@�D���`���p2j�8��L��.Y��I�5hp$��%}xó'��;images/print.png000064400000000573151165074660007673
0ustar00�PNG


IHDR(-SsBIT��O�HPLTE������������������������ݾ�������Ϣ��������������N������kkk�/NNN
��
tRNS�������������������������D6	pHYs��~�tEXtSoftwareMacromedia
Fireworks 8�h�xtEXtCreation
Time1/5/06ÿ'�[IDAT���K�0IQ�B�7�@�u�ټ0	?�.��Ox4b4��`X=4�	t��r�TA$Z��O�{&-{9Ɣ2�{�'�6��q���
�	Y=K{IEND�B`�images/raty/cancel-off.png000064400000001273151165074660011511
0ustar00�PNG


IHDR�asBIT|d�	pHYs��~�tEXtSoftwareAdobe
Fireworks
CS4�Ӡ5IDAT8���1K[a��*�8��o$ڂ����_�&jݥ������v�LU��E��D���+�~�u�iK
|�,��}9��|�s�����y�F��1�ιI3�Z$u���������^�:��sÀ0�1A�T���2�\c�~���sz�ޝ�/���#��_���D�\�����q�1>>���$���\__$}���8�a�^����R�R���8�1Ɛ��H��9;;����Vҧ���IK�|��>WWW$IB�$Hb00H��f�I�V�󼒤%�̯]�}ߧ�����D�ݦ���W<<<P�V��<����l6K�������?O�h4HӔJ������xyy!�c�Dž$�1�9�Ԏ��c6���F��O��y
:�Ƙ�pc�^�٤P(��)ccc#fk-�b���c�s{��o�����`~~�L&�+,�Z2��z���C�8����igggA�����z�NE���c��X,255����Vk
�s#(ooo/H
�V����������8���%�Q�_����AҢ1f�97#	cL�9�+�[���-�	yK����8#IEND�B`�images/raty/cancel-on.png000064400000001313151165074670011347
0ustar00�PNG


IHDR�agAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<]IDAT8˥��KSa�[���n��QP��2w��ܦγL�[,bi��a�A��\�C��v��_2Ml�ZFjס���NMjm��kʷ�`&.#z�����<ϓ
���bV��P�T3�%�I��{G��qRiv�ȅ�
�tz�#E��6����Edd���J�`���DR�2<]N��;�4�Ѿ;���m>�7��8��ɀQe6�L�I���t��殷c�q!z�|v��j�/Xi���@��
�%1|h���l�
!���|������!
�Y#�u�U�N�w]�˼H3��u�	t]E��>k%�I�f��o���R��D:�0��`�~�|�
���(r�
�on�3oG0!�$����V��
�*[W0_������-+����
d��W�&�2�ZfMF��VJp�iF&B��
>��R���g�-�
�~	C�m��ڴ���ER�
ឫ�
p�5ްy����+��21���K�aw�h�`�
��#���a�Z񽞆�T�Zo���L��ѓ���`"�(?��'��ˎJv�K�ކ��|�:�G9[�a�w8�2
Jw��f'��y����m�zsӘ��Tsw��_��_��ιIr�IEND�B`�images/raty/star-half.png000064400000001233151165074670011372
0ustar00�PNG


IHDR�asBIT|d�	pHYs
�
�B�4�tEXtSoftwareAdobe Fireworks
CS4�ӠIDAT8���MHa�����k����FA�&�q(��u	ɓBj݄"ȋW
��4"�D�y�:uXvA�����J�V4��l3��t�
�v�?<���|C	��ɤS�K1�T��nW?0X�)��UG�����
�N�����#�"��D"p3�NU�skd��բ	�EuM�N�N&�jȤSu[Ym�"�m��W��$u�M
�Q�k��|9����|����
���m
�����s�gC�i@ض�iJj��"e���IF�Fwu]z�w;Y�sݤQ7A7@
X��Q���<��X_-��'��o�l�u��~r/&8�+Ҿ�����q��!X_�`~~alvv���#v�b����d�l��z(�0M���,��jko�5��_x=�'��{��a�
��ǒEߘLp@�h��ʁ��JYY�P��h,J��Njط�C���˪�r{qq�cfz�m�c�h4�i�[s��N4,*��;�����7N�-~�f��C�\��J�!(�'w{�����.
��CW�����A)����ߪt�\IEND�B`�images/raty/star-off.png000064400000001255151165074670011236
0ustar00�PNG


IHDR�asBIT|d�	pHYs
�
�B�4�tEXtSoftwareAdobe Fireworks
CS4�Ӡ'IDAT8���?La��^�k{׻�-`$�ł	�C&T7eqra¤	qrs#N��f#d��ѥiMt�"ZJ���Dۆ;*�ρ?C�賽y��o��ȤS�3�TO#�ڈ��p��@i�=
�ÑH4�I���)
�Ny�����(�T&�2��z�2������K�a�t)��|�ޞ������I@&�J��4�Fٯ:H)�4
ǩR��ukض
���$s���t(��Z'mmmg�@J�mۨ�����tu�`�&������G/��қ�7��bB����86RrP��86�����啷�c�#p�ƕ���eŅ&n��~�U�G$�Z
U�Q)��o|�����3�^���+�DG�J���xp]��.�"�e��ͭ����ֹ5655%��a[^���@
����:V��8�9
��1t!����~�B��bZ&B�N{�|eU�u�A�P`�P�9��LJ*�b�IssK��H�O�
�{��ڧ�����ɧ3+�l鈚[��}�D+��K=��͎�%�����hh�n�x�������hD{��IEND�B`�images/raty/star-on.png000064400000001167151165074670011102
0ustar00�PNG


IHDR�asBIT|d�	pHYs��~�tEXtSoftwareAdobe
Fireworks
CS4�Ӡ�IDAT8���1h�A����5�6�&�(��D�T���8�(�ԡ*N.'��E�tp-�A�P�E���mjb�wibI@�������w��.��ݟXyJt�ݚ�N�2""P�؍�����Z.bkK�uqh�Oujď�S�,e���W��`�Ӣ@�����vnh�W�3�_��\�{�Nx�Ky�N)��ߓ
���0�al�5=EH1�nro7���:��~N��|�`_#���s`M�+�F�6��
$_���^�PO��2!�Q��?�6���._b�r�M`q���	���7�������/<bv]�t�c��)�j��e�6���8;�Z�-�K��3
A�Nt������kL
2b4b�Ќ`Wm4$��������
�a��9f�%�?�𾭃pH���Z��/mŒ�[\����j9�����R��юV���F��N_}�����/߁;/�����<n��9��|.�ddK�IEND�B`�images/referer.png000064400000002763151165074670010175
0ustar00�PNG


IHDR�asBIT|d�	pHYs��~�tEXtSoftwareAdobe
Fireworks CS3��FtEXtCreation Time2/17/08
��XtEXtXML:com.adobe.xmp<?xpacket begin="   "
id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 4.1-c034 46.272976, Sat Jan 27 2007 22:11:41        ">
   <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xap="http://ns.adobe.com/xap/1.0/">
         <xap:CreatorTool>Adobe Fireworks CS3</xap:CreatorTool>
         <xap:CreateDate>2008-02-17T02:36:45Z</xap:CreateDate>
         <xap:ModifyDate>2008-03-24T19:00:42Z</xap:ModifyDate>
      </rdf:Description>
      <rdf:Description rdf:about=""
            xmlns:dc="http://purl.org/dc/elements/1.1/">
         <dc:format>image/png</dc:format>
      </rdf:Description>
   </rdf:RDF>
</x:xmpmeta>
                                                                           
                        
                                                                           
                        
                                                                           
              
5Rd/IDAT8���1N�0�?WK��p���;7���n��Ԋte�K]%@EH���Q�R�⸶�-O������?;JDh�V��.�Z(
��"2T\
T��A�6��O5�_�Ґ`xĐ�����?�e_�D�kA0>A����בfCܭv�j��c��o�U�t�i(�1��M���\>�^2�t�,&��]�:(2&��@E
|��5o_XL�5b��gׇ{u��=]�@�J����*�m(uЫ�R�r�|E��H�NBۼ���|6-�Q�)�\�����D���"�Tc<_QIEND�B`�images/refresh.gif000064400000001541151165074700010145
0ustar00GIF89a�V%-*;$;&<,<*E.A".F&2J*;WWc{|��z����������������������������������������������������������������Ö�ŕ�ʘ��Ě�ɞ�Ɯ�Ҧ����̤�¢�̪�¬�ɫ�ĭ�̯�ٱ�ų�ʸ�ϻ�ͷ�Ҵ�ٺ�Կ�ڼ�ܹ���������������������������������������������������������������!�,��VVVVVVVVUVVVVVVVVVVVVVVVVTVVVVTTURTUVVVVVVVVVVVVVVMB4"
7FMUVVVVVVVVTVTV?R/-
@VTTVVVVVTVV7/8US0-6VVVVVVVVVH8JUUSP2�@TVVVVVVM/:UUUSSS.))/MVVVVVVA5RU	SP$U
?VVVVUU45U'9P>U9-5TVVVVV" <U.$$*%SE/VVVVVV 
:U'(#(S%%$S9/ TVVVVT5/<S.(U��P.#USG
5UVVVVUF#SSURRU<HVVVVVVM5/
=ULUUUD;IVVVVVVT41'UP
CVVVVVUUVV82U0 /@QVOVVVVTVUU:!
8!:UTVVVVVVVVV�TVKB":"INUVUVVVVVVVVVVRUVRUSVUUUVUQVVVVVVVVVVUVVUVUVVVUVVVVQQ�;images/replies.png000064400000001602151165074700010167
0ustar00�PNG


IHDR�asBIT|d�	pHYs��|4k�tEXtSoftwarewww.inkscape.org��<�IDAT8�m��oTe��{�t�3s;��3uJm�@��ɠ�*$"qa��Q�+ݙ5lԥlL��6�F��DхD�X�T�-�:)�X�3w�~�.ZL��s���99��f�{���
;�2�	f��V�c����Os�ڭ8sS6�"ƅ�{F��l�J6X]�̟'��m288�5>6��m�Z�>�KO}t���-�v��fK�����www5nb��.�hn�l<t���b�d"�F3}�#V����"�m���k���H$�<�����R�>�DD?4~�-�bDp
2���`L��,�I�V��f��G;Lg��(�X���8�Ÿ�i�__X'�{9���S,,��<7���P�P�	ÀĖ8:���/r6��=��m;���j���}�R(�D�ZoA�!:H&�A���yx�(�01q���v�=�����0D|�%b(���ǟ���
�͂Ȇ�l8
h���G��
�����^�K%*��S�mR���ׅ�g h�
��\�F�I���2X[)�q�C��?�<}��ZD��q{x���8ض��7����4�`��\/��W>a�8�$IL�@�`�����.v*���L�)t6
��*4�Q��rG~�t��z�N,CDa�~P���w�ӝi�ELB��ry��Lo7�
p��kM����+�5s�(Cͦ���ڲ�\��̌577�(�J�V�x�8�g�Gy���Gӵ����l5���j�B����|�l�<7��P_|ذ"�X����'��:}�|���?N��-�IEND�B`�images/search-button.png000064400000005755151165074700011317
0ustar00�PNG


IHDR�$	pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*!	J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ	�b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(��	A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8,	�c˱"����V����cϱw�E�	6wB
aAHXLXN�H�
$4�	7	�Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S�	Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN	�(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�󈋉K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#�׹���=TR��+�G�����w-
6
U����#pDy��	�
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�򗓿m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�FIDATxڌ��fCQ��$�B!�J"��m��>@)�E�]u�m�
��U�6�UH��U)ɦTK	��u3�q�=�v�����̙9@)�J��Ԑ�*i�2�w�Y{�.����vi<`->-#�p�
'`#����y���નo��*��6
I:���
�����˽����зv^�Z��[�&��t�z�)�
���9^0���@?��T�-��|�
p�I�M�����3E��b�<��j��m`�Hv�@%��Uq���k-Iߒ�
�|���b�IEND�B`�images/search-icon.gif000064400000003254151165074700010705
0ustar00GIF89a����000///...DDD���������AAA���������222<<<��Ϭ�������š��������������KKK������������QQQjjj���GGGOOOUUU666777EEE������sss���444������NNN������xxx���������������lllLLL���kkk���}}}]]]���SSS���������uuu���---((()))***+++''',,,111���!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:6842CC2D345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:6842CC2C345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,��HH>?5���$4K.KK	���#DD,K��D-K*E��"9K��7
F��8K
��BG��G
K%�GI��IK1�IK
�IK0�AK)C�C@K&�3K';K�=J��2:V��A@��!��A�-y���ŋ)TX��Əm$�$;images/search-icon.png000064400000001203151165074700010714
0ustar00�PNG


IHDR�asRGB���gAMA���a	pHYs���o�dtEXtSoftwarePaint.NET
v3.5.100�r��IDAT8Oc���K%���%�„w\����]�շ]��w�-��
1�Tv��Xc��������=��q�G b��@r
5P��LV�I;n�����~��{{�}�u�>��	b;�@r 5
�Pm���������Տ�?�ܽ��7ɁԀ�B�!�p��i���W��7g��7�+b
�
9��Z�6)��L�o���ޖ��W�:O�I�4(N���@j@j��@
��M�u����B��̦n��]���Al�H���
�cʌEK��)���/�#Z�x�2���DK'���jC
��-|!R4�PA�[�����Fo�Ab 9
{
T�4����
���/[�_0��P~���0��b��5��Q��
�vvvg�������737���P�_y�/�����1��@��Pm��gbbr6
 �DD�##������Pi�d��������ڟ%%%��RRR
���%$$�B�����ʘIEND�B`�images/search.png000064400000001203151165074700007766
0ustar00�PNG


IHDR�asRGB���gAMA���a	pHYs���o�dtEXtSoftwarePaint.NET
v3.5.100�r��IDAT8Oc���K%���%�„w\����]�շ]��w�-��
1�Tv��Xc��������=��q�G b��@r
5P��LV�I;n�����~��{{�}�u�>��	b;�@r 5
�Pm���������Տ�?�ܽ��7ɁԀ�B�!�p��i���W��7g��7�+b
�
9��Z�6)��L�o���ޖ��W�:O�I�4(N���@j@j��@
��M�u����B��̦n��]���Al�H���
�cʌEK��)���/�#Z�x�2���DK'���jC
��-|!R4�PA�[�����Fo�Ab 9
{
T�4����
���/[�_0��P~���0��b��5��Q��
�vvvg�������737���P�_y�/�����1��@��Pm��gbbr6
 �DD�##������Pi�d��������ڟ%%%��RRR
���%$$�B�����ʘIEND�B`�images/searchbg.gif000064400000002611151165074700010264
0ustar00GIF89a]���������������������������������������������������������������������������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:67FC0460345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:67FC045F345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,]H@��D$y��df	j>��h*0
�r8`��Db0�P��|0�L.��X,>�		�!���%�%A;images/searches.png000064400000002042151165074700010320
0ustar00�PNG


IHDRa~ePLTE3�f�����霨������𱱱��������د����������Ѳ������������ڬ��X\^nqs������000V[]```��᰹�@@@)))YYYHHHPPP~~~#$%hhh888���������������������tRNS@��f	pHYs��~��IDATx�m���
�gL��B��2+��J{��p���Ŝ��Y��!���e�s��u���	�	@�c�:��D�$��)'!$S4%8�s�X�$X��¢�F���2���A�㗜LQ�5e��]��ȋl'2�<YS��ƞ�Ʌ%��)�+E�xfE�z<���nʬ^l��j$���S3������q�xIEND�B`�images/smallicon1.gif000064400000003242151165074700010551
0ustar00GIF89a
������������ұݼ����������մ����ܺ���|���������Ɯ������[�پ�Ȣ��������������������������̯�����������ҫ�� l������ͣ���ڷ�������ܽ���׻�������έy�������̬y��������������ڡ�Ȁ�Τ����ٙ��׹}�ފ���������̬z����ʭ������ʢ�L����ԏ���ְ������ܽ����Ϯ}��g�������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:6882931A345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:68829319345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,
��ff�fD4>N@5!+f1#6a�aLT]-e���[Z
/�K2

)
.<b��I&'Gc��cVC_BJd��dX7fO3AWMR,FH;�`Y`�("Q��%0��:@��Ȕ?�
�H$P�	��;images/smallicon2.gif000064400000003327151165074710010557
0ustar00GIF89a��ܘ�э�梩�A�ӊع|ۼصo�ѝ�x;ݾ��۔үh�����ۗ�ؔ�…�x�֎�ᛷ�M�͂ϫd�ږ޻u��۸r�Ԑ˨a�ԋƢ[�ć���|غ}������ܽ��Ί�ϋ��g��ޗ�Ї�zղkڼ�ӏ���ڒ�ߘ�ؐ�֒��쾛T޹l��fӰg���ϝ<A��ږ��n�Ӏ�`���ٕ�Ԑ��.���˂�����+�Ј��믂(����������΅�磌~&�_�ӏ�Ї��?�����2�ű�ݙ��>�ߛ٩H��񭺠m��ǯ���-�܈ѡB��0�ѐ�ήŔ5�﫩}&���Ց��ۗ���ד��Βf��~���!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:68679A83345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:68679A82345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,րxw���x�"gCVBP�d"�x.bm<A`�a.�RThj@=�!22!>
 G�$&&$l_�+44+[

66]D�/i

rO/�,55,f''11Eq�33K00tMu�Т�'#F�H�G�DX�@�J�(P\A�ύ
LJ���ƀ�~F*pQ�@E�I��I�`�M�$Z��/s�Xj�N�1Q�&
;images/smallicon3.gif000064400000003254151165074710010557
0ustar00GIF89a�����㏡L������¬t���ұ��ݼ������������մ������������uB�Ɯ�������|��[�پ���ܺ��Ȣ�̧�����������������ͣ�ʭ��������������̯����׻�������ܽ�̬z̬y�ڡ������������̢�L���Ϯ}��������髏R���׹}�ԏ�ފ���ְ��������ݻ����P�ҫ�Τܽ��Ȁ������έy���������� l�ڷ����ٞ��k8��g�����������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:68829316345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:68829315345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,��h����h

�
R_D9[#M&
h 3@:e�eNUS
^Ld��d1I)!HZ/<aCfPf�GQ-%bb�"T?6Vg��gFXh40`J(	7	E5�'.]c�Kc�cE��"X���,<�A�‚W�P����	A|L`
;images/smallicon4.gif000064400000004173151165074710010561
0ustar00GIF89a��L�������uA��������������Մ�؈���������������ؤ���������������̀�k��֒�ρ��ҙ�ʀ�Y�����h���~�ʀ�̢���׊�ؔ�P�߹n�����������Ҁ�����ߌ^��������������ę�����䒎��ј�Ӏ�N��������������椅��ۘ�����ׇ����ô���˴ֵ����ѭ����z�̀�����������ڷ�Ϯ�������ڳ���ی�Շ�ݐ�͂ܩ�����Ճ�؉�������ݒ�w��܎˰��������ٻ���֋�ː�׈������ȶ�ي����r�Ď�f�����բ���ױ������������޿�Յ����ף����ޑ�܎�ֆ�Ӂ�ј�̂��~��ӌ������́�X��ڋ�j��ޕ���������������ס���y�����������щ���{�a��������������܏�[��Ԃ�ϑ����ˀ�������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:6897235F345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:6897235E345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,�_	|UKDj
\�ɓ�08iD�%T�`C�
 O�S䕠.���Y��[���
	�!�
�1f�"P�,%y� ��\��1�
��5s����
� �L�O�(4x0�ǥF*d����W 8@
�]8�0�U��Lx��8^��ɀ�ǐ
�����%wHa��DH��bxAqfF9jd��ԢJ$�yDÏ8J�X���-�x��0�0�D���1oL�P*��o"e�t
 ;images/staff-icon.png000064400000001346151165074710010563 0ustar00�PNG


IHDR�atEXtSoftwareAdobe
ImageReadyq�e<�IDATxڄS[Ha�fv�qw�jG�Դi+���҃/��=D�
�b$d�PX���I$=*ty�
D"���U)EQ�ܢ2w�23;��Dv��9���w��J&�H����Z�����h�8nuZ�4H��%����t^
T�@U]�ב�ΘI�5
��CUU��G"�W��ZH����aH���.��;�D�FK���e��
M/�yz�u!�,�a)(a��{��/g�Le{g�]<�K��PUY����q�Nb���W`�m5P]�B���e)��
���^�W�`���[�I�%�X��I+�M޽�t|`�U^�Y�n�����:>|n@��w�`s흗�o'��1c����F�t��x::�8�`�X�Ƌ)`bbe��#��/�2���
��p:��n7�(=66��}�����7���{p:��@@�$�	�?���N��^��i�Sy�Q;�󌢨�ɱ�����p<��#�07�L^ev;A�`�g�4�f[a����2�P��
��EK���<z>�f�I�F%.�p��PH�1��h"E�(F2G��^\��:l������A�dS����(!�Hd>�Blm���4H��<�-�I�A~]J
�|g<�66��_��ܓ73���`
XK�/\�IEND�B`�images/staff.png000064400000011530151165074710007631
0ustar00�PNG


IHDR@@�iq�IDATx^�Z	p]Wy�ι�[=I�nY�8&ر������	e�V:K�-KC2%���%�Δ�--K
0��v
)I��@�NjlK�l-�����w9���=��%[Sr��ߜs�}z��/�?��)���L��K/kaZ)�K�}�w���
�/d���k�Bs��q`����ÔO���]%Ճ$ȯ�;��=��UD�"�mG��5�H�F$�@禍h�����8q�*��,����������:�G�x��s/mu>͚�H��Dd[�)�dyn��q\�w�&���C�|v�m!ux$��N0vߗ�k�1�?���խ�@�Ie�W[DF)

�(�D��
�X�J>@�2�`��`P��p�,�>/���Z��T?��m�w�TD^"͡���#�Rb��C_���Mpn�0�'\�9��y!���6�)�!q�=/�"H���R	��S�*�h:
n0"�4i�2
���00p��B�?��ږ�W���q%�LY�煬@#c�B(A�"�[)ïV�nmC���4IC�A�B)�b���T�o���W��ĕR)��]�E��C��#ݰ,0ƈ|�[�|��;бa3��=0-l.�8c��k���^lK�����ͫR��U��)�aދ���}(MF��ØB�0߫
�\�Ê�H�-�fN�۞@s[3�M�n�1$c��J�LI�T�pP'�P)QK�IM�R,azl��iTKeT
%̎�`|��d���K.�†m�on�
�+3�Y��`�X�T
B ,f���+�|�
�@ppC�@J���p����ˆhu
��46^�M��D1�#�J�j^��d'S���C����YA|W�u=���+�U}�K!\�`��4�L�t.��?���گ����l����U^1(pQ+��)""�3K1�aSp����4ўO�"��1X���24<��T0�[0��;��o����&�
	�fҴ�
Z*
Hh�X�ڲ	�-�*U�ov2�>�0UV�?����k��&���'cH�d�d�h
9������(z%�_��sGF?����mmb�FF��^Q�U�0�*��R����qt��"��kϹ��J�E�
���D�f��V���8��$঍��,�b��I��J@1���1�L��@W&�l6�
;CS[
��9���:�ř��9ҭk`;��
�i"�M�rچX�r��S�J��_���s�q�y�hl#��a�BO�5i'�B���t�i��-��+!s8�DRo��Kת�M0f�IDu��Sه��P�gbk�w�~��X�O6{Ր�Yϡ��r�ړ��!1�p�iM^�n;�m6
[ä�4��h�zs4ֹW�+��-y��?�Ъx"��7m�Aog���D��⻱=x>�5�~��b��]j|*��[�r�U�
H��+���̀�5kE�B�ۯi�_އ;^�|�
/Ƈ�xy����q盯��Ƶ7��o�_�ᄊ
�]����I�V�%�Ց���Jad�E��%/�ڜ@wW��̊X�N!@Xd��\|^5���פ�ޖ�"��V�*�J��Oy-�#?9��k?n̴�
[���lE�������U��zLly)��$��Rxz��{1��;a_C
�j�
�ت�n������L�ή�t�ҵq��;��]������z�7��6�9lW_\7ڔ�E)�{W]
��;���ޚMD�fm\��"0��Q�Mp0p�v,�Mp	���t�/}�6z�W!|W����
�n��GV�{�{^��z�6�mcoK�Id`F�0�8�H��
A��a�\�d�!��pKA��<�J�'��~
^B�oUn�C���DZ�|2�P�Hi�<�@�դ��u�kZ����lUJ�VM~5?R}4_t�
����%<C�5bPgz>$O���C�xs��d�����ڪ,N
��BI�ӼZ��*�W�O\=j�\'9)t$Lϕ\)�ϛ��B�O�]���г��	L;�)&�zATPR6��	u��.8���/���7��(
�Apt.WD��=�+z«��� ��Q�j�NN�]���w��
���Z�o�_�A���`<л���%J�z��5���`�@*u�\,>p�	���-���u+܉�I�yH-��msy#%:�+F����ذ4-����q���Ç
���l�!_�������"؉xʀ�\�T=_�FKz�����{.�x���B/7HK���$�d:�I`xh��|��̞^#&F�#��C�*8��Ӹ`�f�2��a`����B�t���&��B���ℝ��6��Ϋ?��ׯ�Ů�;
�g�>pFO��E=,bh���>M;@�U�JL����֜�Nư��C)�9����?��رcGwOW��o}��oJ�Ӹ�xꋷB�Obb&�?��X�F�s=v��3xnp�&&�G^�/�?�o�>��R��_�D"w4e����Z�朣\.#���~��'�ќ��\�D0�s��H�D��F"�����X��_�*O�{��g�?MB��^
�-��?眽-�Hų-���t�d
�I)11>��7���p��v�XvQ�zXy�hɘ�2����7bjjD��ʎ��Kйw��fn޽{�3A��#����6\c��;��+�E:�z�05!�4Ѷ��\}e͛��v��/�q*����Oz���!���4����/y%���fؿ��SZ�o>�(��L׌��L�\)���$ijϋD��0�w)��T�̦��LH���#�u
��]�n-��bO��ċv�ԛ�'�}L?K]b��H+��7A?B?p���"����gf�P(
�F�����$���(��Ib��u
�D�C��k��-�LS֦9L*���5HT�Uض���K%9ҏ�{^�������0
��<t4����W}�l3Br:�FFF����,-���'��jҕJy�������ҧv��.��$D�7����o��_4��%��4U'�q����q�\�h�bD
��alt}[w�4�6�}�0��6<��z���.���3Z�X,��X��)Z�N.�^�Ntu�K��������|�����$�c+��wr�^"��mim�3�Cr��Z���!eC�h<��ۦ�o~bb�d[���#����X�2����MW��{nd�JE��D
�4���s�E�<���̲l��w�әl���o�ڵ������Ԁy�<�t�e�&���E��T����ו���y�-���DH(���<�b����r�c�F"J5䔄o����vZ!qr
k�U%AN�j�O�ۈ����LJ��Ճ�X�JJJ����V��O|v�
U�����bqCJ����RT6������Riz�##��vF�s�a�3��ɤ��cǰ�‹3-p�
���I)�@)�����^;:{R'�?F��Cn9nO���Rȳ:��-��}g��׽��<?�8k�3�{�:��K������݃��#�q:�{���5hoo�a�}�
�l��^a4��KaH�RQ�	��ٳ
@�rn���KI/�x�S�z)�BC�c�����𣘟�c���%WbM{�⡚�o��
/�C���֎۷��x������gD��uG�$4"��S,n�,�Z��Pcs��|
(В΀t�	AЈ�3��a����q�q��c�}��`��r�<��Gq���?��O�[�לs�|>�?�ǧ�_&Z�06r|�Dk�4PK"�s~�m9�z��(���аmM<�%E�����(�^t�>6ۺ���a|F!j3�ڲ��}�n�&'�x��`��܌&��g>�
�A
78�D��&�F��(�B��Xn�=�QY.ǎ`��ܙ��B�4�`�8D�6qjr�JI���0t*�1+JhL�����k��F�����Ԍ�[m���x�Pcc���q!���
��-���ٖ6}�V)�"E��V�`S��~�U@�&��J#��Ֆ����_V�B�H}�8���H͍
��@��i��{�i�}W!�qZ���Nוz�5Gc�
ض���ܰt�kt!�|l�I0�Nq94���<��CN����Cb�D�G��V+��8�#�\еB4r}���
.'����J������I!�(���ǩ��65
0���0ҏJ�W���E�Zx�Ճ��J"
8g
H��l%�V\���*šiZ���	�S�+�
�y��h�б6ò�z�5֏|��33��@w��R�m��9�X�&Bz�ν1��Z��6j;��,�ڄ`Yz)\N�?ޱ۟�:z7���=�h���i<wh��u8q����zApv8�z_A��d+��^�U�~�ӏ�'A�L���3���}����|�m�ݜ��7�2�",V���|}C���G�P���΢k}�^�Ɔ�u���g�i�s���B"0L��Zx�FF�qu^+eH)s�����0����jF[SS�vZf�E"��$J�k��H2CA��I"Y�
7����X/rG��L�#�E��>��j<2p�t�-��bI!�N
�R��3�栌Z}����m׏�J����A�9`���o�H��D�	IB��ȤR�>�ײ��yy$eF¨���Ÿ#X`D�^�/6J�%m)�ty��0��b�T9��BCC��Ve!D�P�4��8�y�h�Z=Q(N�q@��9����H�H}�	�`�@fշ�@�@��]"��`�
����`~��IEND�B`�images/star.gif000064400000003233151165074710007461
0ustar00GIF89a`��77�??�FF�BB�DD�LL�L2�JJ�Q3�O3�S9�N=�Q;�RR�[?�UJ�ZZ�``�WK�\P�``�dK�YQ�aS�_S�\X�^S�gW�ff�jS�d[�bZ�hd�ll�eQ�ji�mc�pd�i]�mb�ss̀
�r\�wr�{{�xs�wp�wx�||�vb�yt�xb�zoы�~|�~|���Ԅ�ӏ"�|����|�o��k،�֙+�v��uג��yٝ%�۔��~풍�����}ݨ)������ݪE���ۥ�߯1�8��%������ک���
ટ����4��+�8�C������䯯��"�J갬����B����9벮�D�f�H��0�޺������Z��)��A��K躺��A�������L��r��O��n��F��9��/�Ĺ�Ɂ��I�����S�½��E��Z�����y�·�͙�����L�ǹ��@�����X�����U����ҫ��Z�����W����]������ۢ�ܚ����b���ޜ����߰��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,`��	��,�:"����D�J5DHH��7�JԩSH	a�rԇc�B�ހQ3��.G�>���(O:���S�ʿE�NY2d�f�4]�X��K
�D���9�e�'M��Ts*.q��BX���i��#'!$B����#˘(	�Z$�͘8;�$$#h��@���R#a�H%�H�p�DN��LБ'�zr���ϙ7vB�	Uȑ%;5:M��]0e��C��g�B�*�财^N�
n|��]�{R�`ٳi��vW���y����hp�è��G���+E~*Oܜq}��A�:M�soή�ƚkт
k����m�����t�M��?�V!u�'��W!�M�j%B8]B�^B�'�{�8_f�d�@(p��#pph�����0PDB�$��G6�Ag�b%
L�B
@•4p�?g�i�y��y�@A���y��a���9�,m�圄��BB@��jBAB(�`$�ABP@Bf60@E@@$4gm!�	�1�;�
Z.����nx�KC����*��� ���آ
s�2��@��j|~d�'_0�+�~��Ƹ�z��z�z�Ǯ���L�ųn�b�P|��[�����P$��b��+�'8ԘK��J<1<�2�*LL���2���̃����(t-<��Ƕ�<Q-u�0�-�QKC���#�lr�	$\�(#���ZLQF%4\0�@��+O(aDM���T��Lф?��l,�@7�a�{��wH�Ё@#�ф�+�	R(
fĝx/|и@+ф
t�=�P�@k<�"|.�Y$@�@��p}��2�%xFd��
pB�l��K,��P,^t�P��@;images/tabbg.gif000064400000002553151165074720007574
0ustar00GIF89a.�����������������������������������������������������������������������������������������������!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:BF4FB605352211E0B0A8F71350810230"
xmpMM:InstanceID="xmp.iid:BF4FB604352211E0B0A8F71350810230"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:84E04B214C34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,.*����4�Q��0$
��È`(�@R*U��X�@��C"e�;images/ticket/index.html000064400000000054151165074720011300
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>images/ticket/ip.png000064400000000402151165074720010416
0ustar00�PNG


IHDR�a�IDATx�cd�0��
6@���Ҕ��X4#2�7���@�����v@ą
���·J�L]���!�����DF��~��D��Pq{�ƒP�
PW·�;¼��h�$�
��B
�A���H��v�և�
�MAl��g?4�.#�/!�l\eB]����Pv#�O���G,^"hQ`�
L�)�X�FIEND�B`�images/ticket/url.png000064400000000441151165074720010613
0ustar00�PNG


IHDR�abKGD��������IDAT8���1JA��VB*E!7�
x!�����6Mb%XI!��r{��$邱�̮�Y6��y��̼���x�;>1�}�1°�|�%6k�|����>��S\��R�g���}&�(s���r�I�<.f�T$�e�8�����)����B��n���|����@���=	B�e;r�t�:��m��Q��v�-�?�ʶ��8�E��1�ADL�p�
�IEND�B`�images/ticket/user.png000064400000000422151165074720010766
0ustar00�PNG


IHDR�abKGD��������IDAT8���=j�A��_�
	���!'Rz�
�x�����#��)Bڀ�M4����K����̰�3����	m|���ֿ��'��nbN���4\��"�����4ptU
�{q���r��xN��x(h%��H�ɹ��ܗ�������ed�``��>�6gx,��B��/�sb^B�cc:0:e�IEND�B`�images/ticket/useragent.png000064400000000621151165074720012006
0ustar00�PNG


IHDR�abKGD�������FIDAT8���;/�a���=��P��
.k]��FD�u�CT$>���|�(	KT��5����mv]
�L23�~s{��O=VO�r����3��`4Ǧ��vde�F�����35����6Ԛz�iE0�V�P��c5`��<)��`	�:�E�^���v��y������!0,d�K`@=�2YD�/u'_��1��?s�iD�N�����T��x{�Z�̩�y����{��w9�P�������n`�����0��h�}-Z
��P��J��B�̻z��uQ��U��.y�+7K����ς�,��c{*w�3IEND�B`�images/title-bg-2.gif000064400000002303151165074730010355
0ustar00GIF89a1�VVVWWW^^^eeeLLLGGGTTTRRRHHH[[[XXXQQQNNNSSS```PPP]]]MMMZZZaaaDDDAAAKKK___YYYIIICCCbbbEEE!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmpMM:InstanceID="xmp.iid:55953E5F3B3F11E0A9F5FEAC25FEB1D6"
xmpMM:DocumentID="xmp.did:55953E603B3F11E0A9F5FEAC25FEB1D6">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:55953E5D3B3F11E0A9F5FEAC25FEB1D6"
stRef:documentID="xmp.did:55953E5E3B3F11E0A9F5FEAC25FEB1D6"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,1&`Ui$Eqh�d�eQ�<�r4���aI\.�d�iB;images/title-bg.gif000064400000002403151165074730010217
0ustar00GIF89a)�)))+++"""***222000...---(((///%%%555<<<666&&&###
  777'''444$$$111!!!888,,,999333!�XMP
DataXMP<?xpacket begin=""
id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta
xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060
61.134777, 2010/02/12-17:32:00        "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmpMM:OriginalDocumentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"
xmpMM:DocumentID="xmp.did:67FC0464345511E09D7691755906BE53"
xmpMM:InstanceID="xmp.iid:67FC0463345511E09D7691755906BE53"
xmp:CreatorTool="Adobe Photoshop CS5 Windows">
<xmpMM:DerivedFrom
stRef:instanceID="xmp.iid:7D6B953C2D34E01188FBBB19AF6A7FA8"
stRef:documentID="xmp.did:4708CD2B5D33E0119DB99C23203B5644"/>
</rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket
end="r"?>�������������������������������������������������������������������������������������������������������������������������������~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!


	!�,)"�ueY��P��H��FRT�M�E#�`6F;images/uparrow.png000064400000000454151165074730010232
0ustar00�PNG


IHDR(-SsBIT��O�?PLTEx�T�Œ��€�B��W�ܑ��ۀ�U��X����̭А���a��[��Ը蒯֑~�V��W���r\�tRNS��������������������+�}�	pHYs
�
�B�4�tEXtSoftwareMacromedia Fireworks
8�h�x8IDAT�cAt`�B���cC�aaff�A�`!��030�8XY��tfJO,SIEND�B`�images/user-icon.png000064400000001207151165074730010434
0ustar00�PNG


IHDR�asBIT|d�	pHYs��:���tEXtSoftwarewww.inkscape.org��<IDAT8����jSQƿs���I��FR+mJ@A�ւ���B���BWn7ݸp��V,�o
D�QZAhԠ��@���ۜ�{f\T�������7#��b���%�0���~9J#��?85�7���
R�T���3�o����8*�F�iCZ62^%c�΋8��L�����E�T�������z5Y*�z�J�Lہm%����8�?#l�R�ɸ-	!��L��L4�����."��H�!��X�/\[k~nD:肇6ޯ�t��v�6�D���n~�(�FzҋmdQD���\m�n��l5�(V{$���r��w��o��f��y�
5��J���P{�9��v�w]J�I�5�!
)�%bh���e.ٶ��0P����?U�ZN†8�_l���&�'�Kئ��չ�Ϻ
��}�"����������v�
IӔ0d�_`f(5�(��s���������L�~aa�F�qNk�4b�q_
7߾k>������~X������IEND�B`�images/user.png000064400000010544151165074730007512
0ustar00�PNG


IHDR@@�iq�+IDATx^�z	�$Gu��2�gvf�+�e�
$,!	,����l�8 L�X��6�8��
.#�!�P@�1r`�m+H˲WH��F3�cv��髪2�9;��c/6Ɯ����/^VvUw���z�����~E����aY�L-�_�ͣ�DZ�駑���d۹�DB���M�Fߗg�]l�kV��b�_��W���A�8,��'�(@T*b��65�5�NO㑝��]�N+k�-f~�����/�z�x��k&>o@_��B�P��“
l��J�|3�w���>�8Q!,C�
���7~��pV	p�o���,�w}�3�4�o�6�:�B���l`�A�����4�Y$�/BpV��2�߆h��EhCi�4�a��G��1+��p@��؃R�!,/B|�@���-
y�wܸ�k͖�������Ⱥ]ǸR��)ْ�Fxhj�y%��Bh��쵍�ִ�\وRC/�oC����	���h���A��2���8��
�t�
�З`f�ë�/N���?��5+@n����6.�y(B�إ�f��}�u��,�A���)Lm�����!�a�6�a��ۣ^�����_�&��W�0�6Pz
��v�h�1�g7�����<�Be)���'�a
R=�x�d�j�
�1��.��Mk�RO��3,�0���|#�Mx0��n����F�ZC�f��=;?�A�Ņ玡1Q�%P�B�4�k֦LS�Z�Mf�02����J	��*#�4w�ABbρ~Fh4|��c�͐R�h�RhckT���ahu�#0Y�C�5DJ0&��ik�hhL���C/F��Z����ڀ���]�����:kJ�2�3A�!4l-1Tn����3��=-�!����	X[�UPL"(�}���
ϗ��%I���7�|3~���m�{mQrY�hz	���0��Ȏ0p"��Ų��I`r}Y�����a����Jf7�5��W��BJ	J�:P����(����s�V&�N�L1r��)�ו�	֝�I)���<F73`�^�s3|@d$�q��r��"��9���4�V�
�,��",�Zq���X_G�j�;}�,�Q����
��z�@A��������vs�K���B�2>�
A&����T/��0R&fB����˷�+�/���!�$�H��a���
�*uH�wEO�n9�u���Q���Mڂ�)@x
���ؕɬ:�z$Ĭ�L��/��kBO��ԫ��,5��z.�J�F�
D�
�R�9��BG?�F�F$A’�Z���@+����ɩ�^����kc$\P*�bj]ś+#�B��
�%kW����SǑ#��-��|&�8o�W�"���!`���͞39^��0�f�����D�S�S�Q`�Q���0tuA���I��1�����v�J���
u�9�?�0����0�>��G<Q�:Qqr��5a�_k��v���ߓ�N�!Ġ�c0��	�*0i��k�(��tO���v�]3�/���#ǖ{�(MԆ�1���o�`�DQ)6�88�lm޺���6^lv[Y��G`�ր֮�*�83�sw�s�8!��jw3��:�_��5&�˂�1�f�[Z)�Q.����>�r<�hw�	��Bfȕ����J�?Z�Kb��(�?0{��<5j�q�Y`4N����!�"Z�<��g�y���5�*�
��l�����F�`�Y�g�>.�ʽƖN(�l_@'�B�g���g���;������_����E��)��dC�*u�Q����Xj�`4�.�S�ͻΚ�Q�͇�9���E��~d)��0@�Az�8b�1�,e�N
!�>yᄈdk�e��Ծ��ְ�F6�Yv��ހ��&?9+R�<t�ǎ4S��κ��\�����r㢋�wa���
Dr�f3L�|
�N]̷�?��/�uh��1i�aR�",��Tx��ѐ�jx��\�O0;;m<?��,�w
A���cAi
S����m�pH8�bKh�n��=3g�q�&�2�ݳy�"(��'䢼ⴱkxaau
��<A蜵?���/ՏMOGK�;�j���G���?	���b���>.�
�Z�p�p��_+��7m��?��W���}r�������w~��g=��s��U���?��RC�8N0�~�[��@�=��˘;8�^�fF����~�Xܻwߕ�>�ݫ�^�����'�Ʋ��%S�E��b듷A��P�3�93����G��'������&T��x��`����Sw�5�N��8.}�?�9���b	�N��J����q�ޯ�Q-b��C�kH)����-W�X,baa
��5�I��?��6�Z��'�o!���iS��r�R�<A�0����8���?09VF����R�	�=�^+�!�Op�3�����y�>2Y�����MB�^A�=�m�23@Z^#�npYAE��$�6)��AB<�K/{�?�����f�(@�+(m
�`EC�I���_��
��s���GsiI�H�/A�����^7�Ci�1��������_�I8���'�(��A��4Z!O3D�Mv���nc���S�y�y�n�;�U^B��W8��k_�v��v��6F�֐�PY?��C��
1�$�^�ϭ�b�1���	@�<��6"�� z
���U��z�R.Q4r�WȌT}q
�"��ػw��'p��g�ܽ~�Kމj}�FLj���C�W>�0�YzI�
�Z�T*m|�v-�t��v~�p��GD+��!����8
�}�.l�40FC)�$H���������۞�l��8r�G�0���`�֋1?D@�$n1�o*�hy�

󜜱t�0
�~A�`��[���[���_�/��*3�9��N��k��r1�c:%����0J��w���Ba�\�`||���rO��/����
<�j�r�u�v��t����2F����
�{f����'d�x�TKQ}�:п���e��s>�;_(�[����s�YK��ڣ���&��]���x3��KPJA˲:<������}���=b���l�~�_RT�N���FI��ҽ7�г��o��̢\_?�1LG	�8�=ʊQ���8<7�Q���C���cg�|���9Q���NGc���蟴��S_���B��Su7����?�a�#�<?�=N5�x�o�.S
�GgdU�����.<���<m�r0�N����B���@`2

 �-�F�/N)��%��G�{��}�K}�/�A�9)�c�f��s|�G8!�H8����x�ti���=��[��(�(�B?��ư�����x��y\�mW>e
ғ�`�9>�1��#!F���^q��V�e>~�!`g�q0h�����"�	����<6b������y�n�3���B'���	�i�V�k���+�O�[�΀�CylN"Р1<	ٷ��;=9���W�V�7�z�K�|�R���G꼪ݝ^kiw+�CT���y�A���&��q	Q��3å�Nj
�8�b��ϼ�
>e0�z��Wn5�l��C1`
�2¨�"ČU��i����t��A�
�yt����9�5��H����S�Zo%�S}tc��3��E�q$�h��A����%��lV�"[�x�	l�Jn��z���!p����6I!�0�Y"E
�_����U�{�3o?5���"ϫ����1����I)��:m�+ݹ�4[�g	Ȓ�':��h�2����!�h���s�ϓB�;L�ZB�9A"����On�7���9��ҭ�<���A�+,��!�b3�%�[���7|���yc�֋�Rc��Dz���V�ҧ�$š�1����(�
3C���<�ỿ�ޯ�Ny$5��
*�۴���&���>y��K���~X�����	�$�6�
��	�����)6�>��)`c��ujc������:������c�57��w����Vs�0��~���q��[��X�,�V��s/9��8�	qql����&�Z%�K?L��b!�P���ͨdw����W�a���\T0:5:멼��z�崳��Z<��v�G�Ks3�s?��>bK�E�C.0s�3m�����DC���(�+��0R_��<�q��6p�rH�B?�}c4��4�>͈�cd��ɴ��)	��.���c7T?��Kp&�/˨���‘IEND�B`�index.html000064400000000054151165074730006551
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>js/anonymise.js000064400000001540151165074730007531
0ustar00jQuery(function($){
    $('#rst_anonymise_button').click(function(){
        if
(!confirm(Joomla.JText._('COM_RSTICKETSPRO_ARE_YOU_SURE_YOU_WANT_TO_ANONYMISE')))
        {
            return false;
        }

        var $button = $(this);
        $button.prop('disabled',
true).addClass('disabled');

        var url = Joomla.getOptions('system.paths').base +
'/index.php';
        var token = Joomla.getOptions('csrf.token');
        var data = {
            'option': 'com_rsticketspro',
            'task': 'removedata.process',
            'id': $('#jform_id').val()
        };
        data[token] = 1;
        $.post(url, data, function(response){
            var messages = JSON.parse(response);
            Joomla.renderMessages(messages);
            $button.prop('disabled',
false).removeClass('disabled');
        });
    });
});js/awesomplete.min.js000064400000016473151165074740010652 0ustar00//
Awesomplete - Lea Verou - MIT license
!function(){function t(t){var
e=Array.isArray(t)?{label:t[0],value:t[1]}:"object"==typeof
t&&"label"in t&&"value"in
t?t:{label:t,value:t};this.label=e.label||e.value,this.value=e.value}function
e(t,e,i){for(var n in e){var
s=e[n],r=t.input.getAttribute("data-"+n.toLowerCase());"number"==typeof
s?t[n]=parseInt(r):!1===s?t[n]=null!==r:s instanceof
Function?t[n]=null:t[n]=r,t[n]||0===t[n]||(t[n]=n in i?i[n]:s)}}function
i(t,e){return"string"==typeof
t?(e||document).querySelector(t):t||null}function n(t,e){return
o.call((e||document).querySelectorAll(t))}function
s(){n("input.awesomplete").forEach(function(t){new r(t)})}var
r=function(t,n){var
s=this;r.count=(r.count||0)+1,this.count=r.count,this.isOpened=!1,this.input=i(t),this.input.setAttribute("autocomplete","off"),this.input.setAttribute("aria-expanded","false"),this.input.setAttribute("aria-owns","awesomplete_list_"+this.count),this.input.setAttribute("role","combobox"),this.options=n=n||{},e(this,{minChars:2,maxItems:10,autoFirst:!1,data:r.DATA,filter:r.FILTER_CONTAINS,sort:!1!==n.sort&&r.SORT_BYLENGTH,container:r.CONTAINER,item:r.ITEM,replace:r.REPLACE,tabSelect:!1},n),this.index=-1,this.container=this.container(t),this.ul=i.create("ul",{hidden:"hidden",role:"listbox",id:"awesomplete_list_"+this.count,inside:this.container}),this.status=i.create("span",{className:"visually-hidden",role:"status","aria-live":"assertive","aria-atomic":!0,inside:this.container,textContent:0!=this.minChars?"Type
"+this.minChars+" or more characters for
results.":"Begin typing for
results."}),this._events={input:{input:this.evaluate.bind(this),blur:this.close.bind(this,{reason:"blur"}),keydown:function(t){var
e=t.keyCode;s.opened&&(13===e&&s.selected?(t.preventDefault(),s.select()):9===e&&s.selected&&s.tabSelect?s.select():27===e?s.close({reason:"esc"}):38!==e&&40!==e||(t.preventDefault(),s[38===e?"previous":"next"]()))}},form:{submit:this.close.bind(this,{reason:"submit"})},ul:{mousedown:function(t){t.preventDefault()},click:function(t){var
e=t.target;if(e!==this){for(;e&&!/li/i.test(e.nodeName);)e=e.parentNode;e&&0===t.button&&(t.preventDefault(),s.select(e,t.target))}}}},i.bind(this.input,this._events.input),i.bind(this.input.form,this._events.form),i.bind(this.ul,this._events.ul),this.input.hasAttribute("list")?(this.list="#"+this.input.getAttribute("list"),this.input.removeAttribute("list")):this.list=this.input.getAttribute("data-list")||n.list||[],r.all.push(this)};r.prototype={set
list(t){if(Array.isArray(t))this._list=t;else if("string"==typeof
t&&t.indexOf(",")>-1)this._list=t.split(/\s*,\s*/);else
if((t=i(t))&&t.children){var
e=[];o.apply(t.children).forEach(function(t){if(!t.disabled){var
i=t.textContent.trim(),n=t.value||i,s=t.label||i;""!==n&&e.push({label:s,value:n})}}),this._list=e}document.activeElement===this.input&&this.evaluate()},get
selected(){return this.index>-1},get opened(){return
this.isOpened},close:function(t){this.opened&&(this.input.setAttribute("aria-expanded","false"),this.ul.setAttribute("hidden",""),this.isOpened=!1,this.index=-1,this.status.setAttribute("hidden",""),i.fire(this.input,"awesomplete-close",t||{}))},open:function(){this.input.setAttribute("aria-expanded","true"),this.ul.removeAttribute("hidden"),this.isOpened=!0,this.status.removeAttribute("hidden"),this.autoFirst&&-1===this.index&&this.goto(0),i.fire(this.input,"awesomplete-open")},destroy:function(){if(i.unbind(this.input,this._events.input),i.unbind(this.input.form,this._events.form),!this.options.container){var
t=this.container.parentNode;t.insertBefore(this.input,this.container),t.removeChild(this.container)}this.input.removeAttribute("autocomplete"),this.input.removeAttribute("aria-autocomplete");var
e=r.all.indexOf(this);-1!==e&&r.all.splice(e,1)},next:function(){var
t=this.ul.children.length;this.goto(this.index<t-1?this.index+1:t?0:-1)},previous:function(){var
t=this.ul.children.length,e=this.index-1;this.goto(this.selected&&-1!==e?e:t-1)},goto:function(t){var
e=this.ul.children;this.selected&&e[this.index].setAttribute("aria-selected","false"),this.index=t,t>-1&&e.length>0&&(e[t].setAttribute("aria-selected","true"),this.status.textContent=e[t].textContent+",
list item "+(t+1)+" of
"+e.length,this.input.setAttribute("aria-activedescendant",this.ul.id+"_item_"+this.index),this.ul.scrollTop=e[t].offsetTop-this.ul.clientHeight+e[t].clientHeight,i.fire(this.input,"awesomplete-highlight",{text:this.suggestions[this.index]}))},select:function(t,e){if(t?this.index=i.siblingIndex(t):t=this.ul.children[this.index],t){var
n=this.suggestions[this.index];i.fire(this.input,"awesomplete-select",{text:n,origin:e||t})&&(this.replace(n),this.close({reason:"select"}),i.fire(this.input,"awesomplete-selectcomplete",{text:n}))}},evaluate:function(){var
e=this,i=this.input.value;i.length>=this.minChars&&this._list&&this._list.length>0?(this.index=-1,this.ul.innerHTML="",this.suggestions=this._list.map(function(n){return
new t(e.data(n,i))}).filter(function(t){return
e.filter(t,i)}),!1!==this.sort&&(this.suggestions=this.suggestions.sort(this.sort)),this.suggestions=this.suggestions.slice(0,this.maxItems),this.suggestions.forEach(function(t,n){e.ul.appendChild(e.item(t,i,n))}),0===this.ul.children.length?(this.status.textContent="No
results
found",this.close({reason:"nomatches"})):(this.open(),this.status.textContent=this.ul.children.length+"
results
found")):(this.close({reason:"nomatches"}),this.status.textContent="No
results found")}},r.all=[],r.FILTER_CONTAINS=function(t,e){return
RegExp(i.regExpEscape(e.trim()),"i").test(t)},r.FILTER_STARTSWITH=function(t,e){return
RegExp("^"+i.regExpEscape(e.trim()),"i").test(t)},r.SORT_BYLENGTH=function(t,e){return
t.length!==e.length?t.length-e.length:t<e?-1:1},r.CONTAINER=function(t){return
i.create("div",{className:"awesomplete",around:t})},r.ITEM=function(t,e,n){return
i.create("li",{innerHTML:""===e.trim()?t:t.replace(RegExp(i.regExpEscape(e.trim()),"gi"),"<mark>$&</mark>"),role:"option","aria-selected":"false",id:"awesomplete_list_"+this.count+"_item_"+n})},r.REPLACE=function(t){this.input.value=t.value},r.DATA=function(t){return
t},Object.defineProperty(t.prototype=Object.create(String.prototype),"length",{get:function(){return
this.label.length}}),t.prototype.toString=t.prototype.valueOf=function(){return""+this.label};var
o=Array.prototype.slice;i.create=function(t,e){var
n=document.createElement(t);for(var s in e){var
r=e[s];if("inside"===s)i(r).appendChild(n);else
if("around"===s){var
o=i(r);o.parentNode.insertBefore(n,o),n.appendChild(o),null!=o.getAttribute("autofocus")&&o.focus()}else
s in n?n[s]=r:n.setAttribute(s,r)}return
n},i.bind=function(t,e){if(t)for(var i in e){var
n=e[i];i.split(/\s+/).forEach(function(e){t.addEventListener(e,n)})}},i.unbind=function(t,e){if(t)for(var
i in e){var
n=e[i];i.split(/\s+/).forEach(function(e){t.removeEventListener(e,n)})}},i.fire=function(t,e,i){var
n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0);for(var
s in i)n[s]=i[s];return
t.dispatchEvent(n)},i.regExpEscape=function(t){return
t.replace(/[-\\^$*+?.()|[\]{}]/g,"\\$&")},i.siblingIndex=function(t){for(var
e=0;t=t.previousElementSibling;e++);return e},"undefined"!=typeof
self&&(self.Awesomplete=r),"undefined"!=typeof
Document&&("loading"!==document.readyState?s():document.addEventListener("DOMContentLoaded",s)),r.$=i,r.$$=n,"object"==typeof
module&&module.exports&&(module.exports=r)}();
//# sourceMappingURL=awesomplete.min.js.map
js/awesomplete.script.js000064400000005334151165074740011365 0ustar00var
initAwesomplete = function(id, allowEditor) {
    window.addEventListener('DOMContentLoaded', function() {
        var timeoutticket_search;
        var queryInput = document.querySelector('#' + id);
        var awesomplete = new Awesomplete(queryInput, {
            filter: function() {
                return true;
            },
            sort: false,
            list: []
        });

        queryInput.addEventListener('input', function (evt) {
            var inputText = evt.target.value;

            if (timeoutticket_search) {
                clearTimeout(timeoutticket_search);
            }

            timeoutticket_search = window.setTimeout(function() {
                var xmlHttp = new XMLHttpRequest();
                var params = [
                    'option=com_rsticketspro',
                    'view=kbresults',
                    'format=json',
                    'filter_search=' +
encodeURIComponent(inputText)
                ];
                xmlHttp.open('POST',
Joomla.getOptions('system.paths').base +
'/index.php?option=com_rsticketspro', true);
                xmlHttp.setRequestHeader('Content-type',
'application/x-www-form-urlencoded');
                xmlHttp.send(params.join('&'));

                xmlHttp.onreadystatechange = function() {
                    if (this.readyState === 4) {
                        var data = JSON.parse(this.responseText);

                        awesomplete.list = data.list;
                        awesomplete.evaluate();
                    }
                }
            }, 500);
        });

        queryInput.addEventListener('awesomplete-selectcomplete',
function(evt) {
            this.value = '';
            var cid = evt.text.value;
            var xmlHttp = new XMLHttpRequest();
            var params = [
                'option=com_rsticketspro',
                'view=article',
                'format=json',
                'cid=' + encodeURIComponent(cid)
            ];
            xmlHttp.open('POST',
Joomla.getOptions('system.paths').base +
'/index.php?option=com_rsticketspro', true);
            xmlHttp.setRequestHeader('Content-type',
'application/x-www-form-urlencoded');
            xmlHttp.send(params.join('&'));

            xmlHttp.onreadystatechange = function() {
                if (this.readyState === 4) {
                    var data = JSON.parse(this.responseText);
                    if (allowEditor) {
                       
Joomla.editors.instances['ticket_message'].setValue(data.text);
                    } else {
                       
document.getElementById('ticket_message').value = data.text;
                    }
                }
            }
        });
    });
}js/dashboard.js000064400000004423151165074740007462
0ustar00window.addEventListener('DOMContentLoaded', function() {
    var timeoutticket_search;
    var itemskb_urls;
    var queryInput =
document.querySelector("#rsticketspro_searchinp");
    var awesomplete = new Awesomplete(queryInput, {
        filter: function() {
            return true;
        },
        sort: false,
        list: []
    });

    queryInput.addEventListener("input", function (evt) {
        var inputText = evt.target.value;

        if (timeoutticket_search) {
            clearTimeout(timeoutticket_search);
        }

        timeoutticket_search = window.setTimeout(function() {
            var searchIcon =
document.getElementById('rstickets_search_icon');
            var loadingIcon =
document.getElementById('rsticketspro_loading');

            searchIcon.style.display = 'none';
            loadingIcon.style.display = '';

            var xmlHttp = new XMLHttpRequest();
            var params = [
                'option=com_rsticketspro',
                'view=kbresults',
                'format=json',
                'kb_itemid=' +
document.getElementsByName('kb_itemid')[0].value,
                'Itemid=' +
document.getElementsByName('curr_itemid')[0].value,
                'filter_search=' + encodeURIComponent(inputText)
            ];
            xmlHttp.open('POST',
Joomla.getOptions('system.paths').base +
'/index.php?option=com_rsticketspro', true);
            xmlHttp.setRequestHeader('Content-type',
'application/x-www-form-urlencoded');
            xmlHttp.send(params.join('&'));

            xmlHttp.onreadystatechange = function() {
                if (this.readyState === 4) {
                    var data = JSON.parse(this.responseText);

                    itemskb_urls = data.urls;

                    awesomplete.list = data.list;
                    awesomplete.evaluate();

                    loadingIcon.style.display = 'none';
                    searchIcon.style.display = '';
                }
            }
        }, 500);
    });

    queryInput.addEventListener('awesomplete-selectcomplete',
function(evt) {
        this.value = '';

        if (typeof itemskb_urls[evt.text.value] !== 'undefined')
{
            document.location.href = itemskb_urls[evt.text.value];
        }
    });
});js/export.js000064400000005106151165074740007053
0ustar00jQuery.noConflict();

if (typeof RSTicketsPro === 'undefined') {
    var RSTicketsPro = {};
}

RSTicketsPro.exportCSV = {
    totalItems : 0,
    baseUrl : '',
    ordering : '',
    direction : '',

    getProgressBarObject: function() {
        return
document.getElementById('com-rsticketspro-export-progress')
    },

    setProgress: function (current) {
        var bar =
document.querySelector('.com-rsticketspro-bar');
        if (bar) {
            var currentProgress = (current * 100) / this.totalItems;
            bar.style.width = currentProgress + '%';
            bar.innerText = parseInt(currentProgress) + '%';
        }
    },

    setCSV : function(from, fileHash) {
        var progressBar = this.getProgressBarObject();
        if (this.totalItems > 0 && from >= this.totalItems)
{
            progressBar.style.display = 'none';
           
window.location.assign(Joomla.getOptions('system.paths').base +
'/index.php?option=com_rsticketspro&task=tickets.exportcsv&filehash='
+ fileHash);
        } else {
            var xmlHttp = new XMLHttpRequest();
            var params = [
                'option=com_rsticketspro',
                'task=' + 'tickets.writecsv',
                'start=' + from,
                'ordering=' + this.ordering,
                'direction=' + this.direction,
                'filehash=' + fileHash
            ];
            xmlHttp.open('POST',
Joomla.getOptions('system.paths').base + '/index.php',
true);
            xmlHttp.setRequestHeader('Content-type',
'application/x-www-form-urlencoded');
            xmlHttp.send(params.join('&'));

            xmlHttp.onreadystatechange = function() {
                if (this.readyState === 4) {
                    try {
                        var data = JSON.parse(this.responseText);
                    } catch (err) {
                        data = {'success': false,
'response': err};
                    }
                    if (data.success === true) {
                       
RSTicketsPro.exportCSV.setProgress(data.response.newFrom);

                        setTimeout(function(){
                           
RSTicketsPro.exportCSV.setCSV(data.response.newFrom,
data.response.fileHash);
                        },700);
                    } else {
                        progressBar.style.display = 'none';
                        Joomla.renderMessages({'error':
[data.response]});
                    }
                }
            };

            Joomla.removeMessages();
            progressBar.style.display = 'block';
        }
    }
}
js/index.html000064400000000054151165074740007166
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>js/jquery.magnific-popup.min.js000064400000051204151165074740012550
0ustar00/*! Magnific Popup - v1.0.0 - 2014-12-12
* http://dimsemenov.com/plugins/magnific-popup/
* Copyright (c) 2014 Dmitry Semenov; */
(function(e){"function"==typeof
define&&define.amd?define(["jquery"],e):"object"==typeof
exports?e(require("jquery")):e(window.jQuery||window.Zepto)})(function(e){var
t,n,i,o,r,a,s,l="Close",c="BeforeClose",d="AfterClose",u="BeforeAppend",p="MarkupParse",f="Open",m="Change",g="mfp",h="."+g,v="mfp-ready",C="mfp-removing",y="mfp-prevent-close",w=function(){},b=!!window.jQuery,I=e(window),x=function(e,n){t.ev.on(g+e+h,n)},k=function(t,n,i,o){var
r=document.createElement("div");return
r.className="mfp-"+t,i&&(r.innerHTML=i),o?n&&n.appendChild(r):(r=e(r),n&&r.appendTo(n)),r},T=function(n,i){t.ev.triggerHandler(g+n,i),t.st.callbacks&&(n=n.charAt(0).toLowerCase()+n.slice(1),t.st.callbacks[n]&&t.st.callbacks[n].apply(t,e.isArray(i)?i:[i]))},E=function(n){return
n===s&&t.currTemplate.closeBtn||(t.currTemplate.closeBtn=e(t.st.closeMarkup.replace("%title%",t.st.tClose)),s=n),t.currTemplate.closeBtn},_=function(){e.magnificPopup.instance||(t=new
w,t.init(),e.magnificPopup.instance=t)},S=function(){var
e=document.createElement("p").style,t=["ms","O","Moz","Webkit"];if(void
0!==e.transition)return!0;for(;t.length;)if(t.pop()+"Transition"in
e)return!0;return!1};w.prototype={constructor:w,init:function(){var
n=navigator.appVersion;t.isIE7=-1!==n.indexOf("MSIE
7."),t.isIE8=-1!==n.indexOf("MSIE
8."),t.isLowIE=t.isIE7||t.isIE8,t.isAndroid=/android/gi.test(n),t.isIOS=/iphone|ipad|ipod/gi.test(n),t.supportsTransition=S(),t.probablyMobile=t.isAndroid||t.isIOS||/(Opera
Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows
Phone)|IEMobile/i.test(navigator.userAgent),o=e(document),t.popupsCache={}},open:function(n){i||(i=e(document.body));var
r;if(n.isObj===!1){t.items=n.items.toArray(),t.index=0;var
s,l=n.items;for(r=0;l.length>r;r++)if(s=l[r],s.parsed&&(s=s.el[0]),s===n.el[0]){t.index=r;break}}else
t.items=e.isArray(n.items)?n.items:[n.items],t.index=n.index||0;if(t.isOpen)return
t.updateItemHTML(),void
0;t.types=[],a="",t.ev=n.mainEl&&n.mainEl.length?n.mainEl.eq(0):o,n.key?(t.popupsCache[n.key]||(t.popupsCache[n.key]={}),t.currTemplate=t.popupsCache[n.key]):t.currTemplate={},t.st=e.extend(!0,{},e.magnificPopup.defaults,n),t.fixedContentPos="auto"===t.st.fixedContentPos?!t.probablyMobile:t.st.fixedContentPos,t.st.modal&&(t.st.closeOnContentClick=!1,t.st.closeOnBgClick=!1,t.st.showCloseBtn=!1,t.st.enableEscapeKey=!1),t.bgOverlay||(t.bgOverlay=k("bg").on("click"+h,function(){t.close()}),t.wrap=k("wrap").attr("tabindex",-1).on("click"+h,function(e){t._checkIfClose(e.target)&&t.close()}),t.container=k("container",t.wrap)),t.contentContainer=k("content"),t.st.preloader&&(t.preloader=k("preloader",t.container,t.st.tLoading));var
c=e.magnificPopup.modules;for(r=0;c.length>r;r++){var
d=c[r];d=d.charAt(0).toUpperCase()+d.slice(1),t["init"+d].call(t)}T("BeforeOpen"),t.st.showCloseBtn&&(t.st.closeBtnInside?(x(p,function(e,t,n,i){n.close_replaceWith=E(i.type)}),a+="
mfp-close-btn-in"):t.wrap.append(E())),t.st.alignTop&&(a+="
mfp-align-top"),t.fixedContentPos?t.wrap.css({overflow:t.st.overflowY,overflowX:"hidden",overflowY:t.st.overflowY}):t.wrap.css({top:I.scrollTop(),position:"absolute"}),(t.st.fixedBgPos===!1||"auto"===t.st.fixedBgPos&&!t.fixedContentPos)&&t.bgOverlay.css({height:o.height(),position:"absolute"}),t.st.enableEscapeKey&&o.on("keyup"+h,function(e){27===e.keyCode&&t.close()}),I.on("resize"+h,function(){t.updateSize()}),t.st.closeOnContentClick||(a+="
mfp-auto-cursor"),a&&t.wrap.addClass(a);var
u=t.wH=I.height(),m={};if(t.fixedContentPos&&t._hasScrollBar(u)){var
g=t._getScrollbarSize();g&&(m.marginRight=g)}t.fixedContentPos&&(t.isIE7?e("body,
html").css("overflow","hidden"):m.overflow="hidden");var
C=t.st.mainClass;return t.isIE7&&(C+="
mfp-ie7"),C&&t._addClassToMFP(C),t.updateItemHTML(),T("BuildControls"),e("html").css(m),t.bgOverlay.add(t.wrap).prependTo(t.st.prependTo||i),t._lastFocusedEl=document.activeElement,setTimeout(function(){t.content?(t._addClassToMFP(v),t._setFocus()):t.bgOverlay.addClass(v),o.on("focusin"+h,t._onFocusIn)},16),t.isOpen=!0,t.updateSize(u),T(f),n},close:function(){t.isOpen&&(T(c),t.isOpen=!1,t.st.removalDelay&&!t.isLowIE&&t.supportsTransition?(t._addClassToMFP(C),setTimeout(function(){t._close()},t.st.removalDelay)):t._close())},_close:function(){T(l);var
n=C+" "+v+"
";if(t.bgOverlay.detach(),t.wrap.detach(),t.container.empty(),t.st.mainClass&&(n+=t.st.mainClass+"
"),t._removeClassFromMFP(n),t.fixedContentPos){var
i={marginRight:""};t.isIE7?e("body,
html").css("overflow",""):i.overflow="",e("html").css(i)}o.off("keyup"+h+"
focusin"+h),t.ev.off(h),t.wrap.attr("class","mfp-wrap").removeAttr("style"),t.bgOverlay.attr("class","mfp-bg"),t.container.attr("class","mfp-container"),!t.st.showCloseBtn||t.st.closeBtnInside&&t.currTemplate[t.currItem.type]!==!0||t.currTemplate.closeBtn&&t.currTemplate.closeBtn.detach(),t._lastFocusedEl&&e(t._lastFocusedEl).focus(),t.currItem=null,t.content=null,t.currTemplate=null,t.prevHeight=0,T(d)},updateSize:function(e){if(t.isIOS){var
n=document.documentElement.clientWidth/window.innerWidth,i=window.innerHeight*n;t.wrap.css("height",i),t.wH=i}else
t.wH=e||I.height();t.fixedContentPos||t.wrap.css("height",t.wH),T("Resize")},updateItemHTML:function(){var
n=t.items[t.index];t.contentContainer.detach(),t.content&&t.content.detach(),n.parsed||(n=t.parseEl(t.index));var
i=n.type;if(T("BeforeChange",[t.currItem?t.currItem.type:"",i]),t.currItem=n,!t.currTemplate[i]){var
o=t.st[i]?t.st[i].markup:!1;T("FirstMarkupParse",o),t.currTemplate[i]=o?e(o):!0}r&&r!==n.type&&t.container.removeClass("mfp-"+r+"-holder");var
a=t["get"+i.charAt(0).toUpperCase()+i.slice(1)](n,t.currTemplate[i]);t.appendContent(a,i),n.preloaded=!0,T(m,n),r=n.type,t.container.prepend(t.contentContainer),T("AfterChange")},appendContent:function(e,n){t.content=e,e?t.st.showCloseBtn&&t.st.closeBtnInside&&t.currTemplate[n]===!0?t.content.find(".mfp-close").length||t.content.append(E()):t.content=e:t.content="",T(u),t.container.addClass("mfp-"+n+"-holder"),t.contentContainer.append(t.content)},parseEl:function(n){var
i,o=t.items[n];if(o.tagName?o={el:e(o)}:(i=o.type,o={data:o,src:o.src}),o.el){for(var
r=t.types,a=0;r.length>a;a++)if(o.el.hasClass("mfp-"+r[a])){i=r[a];break}o.src=o.el.attr("data-mfp-src"),o.src||(o.src=o.el.attr("href"))}return
o.type=i||t.st.type||"inline",o.index=n,o.parsed=!0,t.items[n]=o,T("ElementParse",o),t.items[n]},addGroup:function(e,n){var
i=function(i){i.mfpEl=this,t._openClick(i,e,n)};n||(n={});var
o="click.magnificPopup";n.mainEl=e,n.items?(n.isObj=!0,e.off(o).on(o,i)):(n.isObj=!1,n.delegate?e.off(o).on(o,n.delegate,i):(n.items=e,e.off(o).on(o,i)))},_openClick:function(n,i,o){var
r=void
0!==o.midClick?o.midClick:e.magnificPopup.defaults.midClick;if(r||2!==n.which&&!n.ctrlKey&&!n.metaKey){var
a=void
0!==o.disableOn?o.disableOn:e.magnificPopup.defaults.disableOn;if(a)if(e.isFunction(a)){if(!a.call(t))return!0}else
if(a>I.width())return!0;n.type&&(n.preventDefault(),t.isOpen&&n.stopPropagation()),o.el=e(n.mfpEl),o.delegate&&(o.items=i.find(o.delegate)),t.open(o)}},updateStatus:function(e,i){if(t.preloader){n!==e&&t.container.removeClass("mfp-s-"+n),i||"loading"!==e||(i=t.st.tLoading);var
o={status:e,text:i};T("UpdateStatus",o),e=o.status,i=o.text,t.preloader.html(i),t.preloader.find("a").on("click",function(e){e.stopImmediatePropagation()}),t.container.addClass("mfp-s-"+e),n=e}},_checkIfClose:function(n){if(!e(n).hasClass(y)){var
i=t.st.closeOnContentClick,o=t.st.closeOnBgClick;if(i&&o)return!0;if(!t.content||e(n).hasClass("mfp-close")||t.preloader&&n===t.preloader[0])return!0;if(n===t.content[0]||e.contains(t.content[0],n)){if(i)return!0}else
if(o&&e.contains(document,n))return!0;return!1}},_addClassToMFP:function(e){t.bgOverlay.addClass(e),t.wrap.addClass(e)},_removeClassFromMFP:function(e){this.bgOverlay.removeClass(e),t.wrap.removeClass(e)},_hasScrollBar:function(e){return(t.isIE7?o.height():document.body.scrollHeight)>(e||I.height())},_setFocus:function(){(t.st.focus?t.content.find(t.st.focus).eq(0):t.wrap).focus()},_onFocusIn:function(n){return
n.target===t.wrap[0]||e.contains(t.wrap[0],n.target)?void
0:(t._setFocus(),!1)},_parseMarkup:function(t,n,i){var
o;i.data&&(n=e.extend(i.data,n)),T(p,[t,n,i]),e.each(n,function(e,n){if(void
0===n||n===!1)return!0;if(o=e.split("_"),o.length>1){var
i=t.find(h+"-"+o[0]);if(i.length>0){var
r=o[1];"replaceWith"===r?i[0]!==n[0]&&i.replaceWith(n):"img"===r?i.is("img")?i.attr("src",n):i.replaceWith('<img
src="'+n+'"
class="'+i.attr("class")+'"
/>'):i.attr(o[1],n)}}else
t.find(h+"-"+e).html(n)})},_getScrollbarSize:function(){if(void
0===t.scrollbarSize){var
e=document.createElement("div");e.style.cssText="width:
99px; height: 99px; overflow: scroll; position: absolute; top:
-9999px;",document.body.appendChild(e),t.scrollbarSize=e.offsetWidth-e.clientWidth,document.body.removeChild(e)}return
t.scrollbarSize}},e.magnificPopup={instance:null,proto:w.prototype,modules:[],open:function(t,n){return
_(),t=t?e.extend(!0,{},t):{},t.isObj=!0,t.index=n||0,this.instance.open(t)},close:function(){return
e.magnificPopup.instance&&e.magnificPopup.instance.close()},registerModule:function(t,n){n.options&&(e.magnificPopup.defaults[t]=n.options),e.extend(this.proto,n.proto),this.modules.push(t)},defaults:{disableOn:0,key:null,midClick:!1,mainClass:"",preloader:!0,focus:"",closeOnContentClick:!1,closeOnBgClick:!0,closeBtnInside:!0,showCloseBtn:!0,enableEscapeKey:!0,modal:!1,alignTop:!1,removalDelay:0,prependTo:null,fixedContentPos:"auto",fixedBgPos:"auto",overflowY:"auto",closeMarkup:'<button
title="%title%" type="button"
class="mfp-close">&times;</button>',tClose:"Close
(Esc)",tLoading:"Loading..."}},e.fn.magnificPopup=function(n){_();var
i=e(this);if("string"==typeof n)if("open"===n){var
o,r=b?i.data("magnificPopup"):i[0].magnificPopup,a=parseInt(arguments[1],10)||0;r.items?o=r.items[a]:(o=i,r.delegate&&(o=o.find(r.delegate)),o=o.eq(a)),t._openClick({mfpEl:o},i,r)}else
t.isOpen&&t[n].apply(t,Array.prototype.slice.call(arguments,1));else
n=e.extend(!0,{},n),b?i.data("magnificPopup",n):i[0].magnificPopup=n,t.addGroup(i,n);return
i};var
P,O,z,M="inline",B=function(){z&&(O.after(z.addClass(P)).detach(),z=null)};e.magnificPopup.registerModule(M,{options:{hiddenClass:"hide",markup:"",tNotFound:"Content
not
found"},proto:{initInline:function(){t.types.push(M),x(l+"."+M,function(){B()})},getInline:function(n,i){if(B(),n.src){var
o=t.st.inline,r=e(n.src);if(r.length){var
a=r[0].parentNode;a&&a.tagName&&(O||(P=o.hiddenClass,O=k(P),P="mfp-"+P),z=r.after(O).detach().removeClass(P)),t.updateStatus("ready")}else
t.updateStatus("error",o.tNotFound),r=e("<div>");return
n.inlineElement=r,r}return
t.updateStatus("ready"),t._parseMarkup(i,{},n),i}}});var
F,H="ajax",L=function(){F&&i.removeClass(F)},A=function(){L(),t.req&&t.req.abort()};e.magnificPopup.registerModule(H,{options:{settings:null,cursor:"mfp-ajax-cur",tError:'<a
href="%url%">The content</a> could not be
loaded.'},proto:{initAjax:function(){t.types.push(H),F=t.st.ajax.cursor,x(l+"."+H,A),x("BeforeChange."+H,A)},getAjax:function(n){F&&i.addClass(F),t.updateStatus("loading");var
o=e.extend({url:n.src,success:function(i,o,r){var
a={data:i,xhr:r};T("ParseAjax",a),t.appendContent(e(a.data),H),n.finished=!0,L(),t._setFocus(),setTimeout(function(){t.wrap.addClass(v)},16),t.updateStatus("ready"),T("AjaxContentAdded")},error:function(){L(),n.finished=n.loadError=!0,t.updateStatus("error",t.st.ajax.tError.replace("%url%",n.src))}},t.st.ajax.settings);return
t.req=e.ajax(o),""}}});var
j,N=function(n){if(n.data&&void 0!==n.data.title)return
n.data.title;var i=t.st.image.titleSrc;if(i){if(e.isFunction(i))return
i.call(t,n);if(n.el)return
n.el.attr(i)||""}return""};e.magnificPopup.registerModule("image",{options:{markup:'<div
class="mfp-figure"><div
class="mfp-close"></div><figure><div
class="mfp-img"></div><figcaption><div
class="mfp-bottom-bar"><div
class="mfp-title"></div><div
class="mfp-counter"></div></div></figcaption></figure></div>',cursor:"mfp-zoom-out-cur",titleSrc:"title",verticalFit:!0,tError:'<a
href="%url%">The image</a> could not be
loaded.'},proto:{initImage:function(){var
e=t.st.image,n=".image";t.types.push("image"),x(f+n,function(){"image"===t.currItem.type&&e.cursor&&i.addClass(e.cursor)}),x(l+n,function(){e.cursor&&i.removeClass(e.cursor),I.off("resize"+h)}),x("Resize"+n,t.resizeImage),t.isLowIE&&x("AfterChange",t.resizeImage)},resizeImage:function(){var
e=t.currItem;if(e&&e.img&&t.st.image.verticalFit){var
n=0;t.isLowIE&&(n=parseInt(e.img.css("padding-top"),10)+parseInt(e.img.css("padding-bottom"),10)),e.img.css("max-height",t.wH-n)}},_onImageHasSize:function(e){e.img&&(e.hasSize=!0,j&&clearInterval(j),e.isCheckingImgSize=!1,T("ImageHasSize",e),e.imgHidden&&(t.content&&t.content.removeClass("mfp-loading"),e.imgHidden=!1))},findImageSize:function(e){var
n=0,i=e.img[0],o=function(r){j&&clearInterval(j),j=setInterval(function(){return
i.naturalWidth>0?(t._onImageHasSize(e),void
0):(n>200&&clearInterval(j),n++,3===n?o(10):40===n?o(50):100===n&&o(500),void
0)},r)};o(1)},getImage:function(n,i){var
o=0,r=function(){n&&(n.img[0].complete?(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("ready")),n.hasSize=!0,n.loaded=!0,T("ImageLoadComplete")):(o++,200>o?setTimeout(r,100):a()))},a=function(){n&&(n.img.off(".mfploader"),n===t.currItem&&(t._onImageHasSize(n),t.updateStatus("error",s.tError.replace("%url%",n.src))),n.hasSize=!0,n.loaded=!0,n.loadError=!0)},s=t.st.image,l=i.find(".mfp-img");if(l.length){var
c=document.createElement("img");c.className="mfp-img",n.el&&n.el.find("img").length&&(c.alt=n.el.find("img").attr("alt")),n.img=e(c).on("load.mfploader",r).on("error.mfploader",a),c.src=n.src,l.is("img")&&(n.img=n.img.clone()),c=n.img[0],c.naturalWidth>0?n.hasSize=!0:c.width||(n.hasSize=!1)}return
t._parseMarkup(i,{title:N(n),img_replaceWith:n.img},n),t.resizeImage(),n.hasSize?(j&&clearInterval(j),n.loadError?(i.addClass("mfp-loading"),t.updateStatus("error",s.tError.replace("%url%",n.src))):(i.removeClass("mfp-loading"),t.updateStatus("ready")),i):(t.updateStatus("loading"),n.loading=!0,n.hasSize||(n.imgHidden=!0,i.addClass("mfp-loading"),t.findImageSize(n)),i)}}});var
W,R=function(){return void 0===W&&(W=void
0!==document.createElement("p").style.MozTransform),W};e.magnificPopup.registerModule("zoom",{options:{enabled:!1,easing:"ease-in-out",duration:300,opener:function(e){return
e.is("img")?e:e.find("img")}},proto:{initZoom:function(){var
e,n=t.st.zoom,i=".zoom";if(n.enabled&&t.supportsTransition){var
o,r,a=n.duration,s=function(e){var
t=e.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),i="all
"+n.duration/1e3+"s
"+n.easing,o={position:"fixed",zIndex:9999,left:0,top:0,"-webkit-backface-visibility":"hidden"},r="transition";return
o["-webkit-"+r]=o["-moz-"+r]=o["-o-"+r]=o[r]=i,t.css(o),t},d=function(){t.content.css("visibility","visible")};x("BuildControls"+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.content.css("visibility","hidden"),e=t._getItemToZoom(),!e)return
d(),void
0;r=s(e),r.css(t._getOffset()),t.wrap.append(r),o=setTimeout(function(){r.css(t._getOffset(!0)),o=setTimeout(function(){d(),setTimeout(function(){r.remove(),e=r=null,T("ZoomAnimationEnded")},16)},a)},16)}}),x(c+i,function(){if(t._allowZoom()){if(clearTimeout(o),t.st.removalDelay=a,!e){if(e=t._getItemToZoom(),!e)return;r=s(e)}r.css(t._getOffset(!0)),t.wrap.append(r),t.content.css("visibility","hidden"),setTimeout(function(){r.css(t._getOffset())},16)}}),x(l+i,function(){t._allowZoom()&&(d(),r&&r.remove(),e=null)})}},_allowZoom:function(){return"image"===t.currItem.type},_getItemToZoom:function(){return
t.currItem.hasSize?t.currItem.img:!1},_getOffset:function(n){var
i;i=n?t.currItem.img:t.st.zoom.opener(t.currItem.el||t.currItem);var
o=i.offset(),r=parseInt(i.css("padding-top"),10),a=parseInt(i.css("padding-bottom"),10);o.top-=e(window).scrollTop()-r;var
s={width:i.width(),height:(b?i.innerHeight():i[0].offsetHeight)-a-r};return
R()?s["-moz-transform"]=s.transform="translate("+o.left+"px,"+o.top+"px)":(s.left=o.left,s.top=o.top),s}}});var
Z="iframe",q="//about:blank",D=function(e){if(t.currTemplate[Z]){var
n=t.currTemplate[Z].find("iframe");n.length&&(e||(n[0].src=q),t.isIE8&&n.css("display",e?"block":"none"))}};e.magnificPopup.registerModule(Z,{options:{markup:'<div
class="mfp-iframe-scaler"><div
class="mfp-close"></div><iframe
class="mfp-iframe" src="//about:blank"
frameborder="0"
allowfullscreen></iframe></div>',srcAction:"iframe_src",patterns:{youtube:{index:"youtube.com",id:"v=",src:"//www.youtube.com/embed/%id%?autoplay=1"},vimeo:{index:"vimeo.com/",id:"/",src:"//player.vimeo.com/video/%id%?autoplay=1"},gmaps:{index:"//maps.google.",src:"%id%&output=embed"}}},proto:{initIframe:function(){t.types.push(Z),x("BeforeChange",function(e,t,n){t!==n&&(t===Z?D():n===Z&&D(!0))}),x(l+"."+Z,function(){D()})},getIframe:function(n,i){var
o=n.src,r=t.st.iframe;e.each(r.patterns,function(){return
o.indexOf(this.index)>-1?(this.id&&(o="string"==typeof
this.id?o.substr(o.lastIndexOf(this.id)+this.id.length,o.length):this.id.call(this,o)),o=this.src.replace("%id%",o),!1):void
0});var a={};return
r.srcAction&&(a[r.srcAction]=o),t._parseMarkup(i,a,n),t.updateStatus("ready"),i}}});var
K=function(e){var n=t.items.length;return
e>n-1?e-n:0>e?n+e:e},Y=function(e,t,n){return
e.replace(/%curr%/gi,t+1).replace(/%total%/gi,n)};e.magnificPopup.registerModule("gallery",{options:{enabled:!1,arrowMarkup:'<button
title="%title%" type="button" class="mfp-arrow
mfp-arrow-%dir%"></button>',preload:[0,2],navigateByImgClick:!0,arrows:!0,tPrev:"Previous
(Left arrow key)",tNext:"Next (Right arrow
key)",tCounter:"%curr% of
%total%"},proto:{initGallery:function(){var
n=t.st.gallery,i=".mfp-gallery",r=Boolean(e.fn.mfpFastClick);return
t.direction=!0,n&&n.enabled?(a+="
mfp-gallery",x(f+i,function(){n.navigateByImgClick&&t.wrap.on("click"+i,".mfp-img",function(){return
t.items.length>1?(t.next(),!1):void
0}),o.on("keydown"+i,function(e){37===e.keyCode?t.prev():39===e.keyCode&&t.next()})}),x("UpdateStatus"+i,function(e,n){n.text&&(n.text=Y(n.text,t.currItem.index,t.items.length))}),x(p+i,function(e,i,o,r){var
a=t.items.length;o.counter=a>1?Y(n.tCounter,r.index,a):""}),x("BuildControls"+i,function(){if(t.items.length>1&&n.arrows&&!t.arrowLeft){var
i=n.arrowMarkup,o=t.arrowLeft=e(i.replace(/%title%/gi,n.tPrev).replace(/%dir%/gi,"left")).addClass(y),a=t.arrowRight=e(i.replace(/%title%/gi,n.tNext).replace(/%dir%/gi,"right")).addClass(y),s=r?"mfpFastClick":"click";o[s](function(){t.prev()}),a[s](function(){t.next()}),t.isIE7&&(k("b",o[0],!1,!0),k("a",o[0],!1,!0),k("b",a[0],!1,!0),k("a",a[0],!1,!0)),t.container.append(o.add(a))}}),x(m+i,function(){t._preloadTimeout&&clearTimeout(t._preloadTimeout),t._preloadTimeout=setTimeout(function(){t.preloadNearbyImages(),t._preloadTimeout=null},16)}),x(l+i,function(){o.off(i),t.wrap.off("click"+i),t.arrowLeft&&r&&t.arrowLeft.add(t.arrowRight).destroyMfpFastClick(),t.arrowRight=t.arrowLeft=null}),void
0):!1},next:function(){t.direction=!0,t.index=K(t.index+1),t.updateItemHTML()},prev:function(){t.direction=!1,t.index=K(t.index-1),t.updateItemHTML()},goTo:function(e){t.direction=e>=t.index,t.index=e,t.updateItemHTML()},preloadNearbyImages:function(){var
e,n=t.st.gallery.preload,i=Math.min(n[0],t.items.length),o=Math.min(n[1],t.items.length);for(e=1;(t.direction?o:i)>=e;e++)t._preloadItem(t.index+e);for(e=1;(t.direction?i:o)>=e;e++)t._preloadItem(t.index-e)},_preloadItem:function(n){if(n=K(n),!t.items[n].preloaded){var
i=t.items[n];i.parsed||(i=t.parseEl(n)),T("LazyLoad",i),"image"===i.type&&(i.img=e('<img
class="mfp-img"
/>').on("load.mfploader",function(){i.hasSize=!0}).on("error.mfploader",function(){i.hasSize=!0,i.loadError=!0,T("LazyLoadError",i)}).attr("src",i.src)),i.preloaded=!0}}}});var
U="retina";e.magnificPopup.registerModule(U,{options:{replaceSrc:function(e){return
e.src.replace(/\.\w+$/,function(e){return"@2x"+e})},ratio:1},proto:{initRetina:function(){if(window.devicePixelRatio>1){var
e=t.st.retina,n=e.ratio;n=isNaN(n)?n():n,n>1&&(x("ImageHasSize."+U,function(e,t){t.img.css({"max-width":t.img[0].naturalWidth/n,width:"100%"})}),x("ElementParse."+U,function(t,i){i.src=e.replaceSrc(i,n)}))}}}}),function(){var
t=1e3,n="ontouchstart"in
window,i=function(){I.off("touchmove"+r+"
touchend"+r)},o="mfpFastClick",r="."+o;e.fn.mfpFastClick=function(o){return
e(this).each(function(){var a,s=e(this);if(n){var
l,c,d,u,p,f;s.on("touchstart"+r,function(e){u=!1,f=1,p=e.originalEvent?e.originalEvent.touches[0]:e.touches[0],c=p.clientX,d=p.clientY,I.on("touchmove"+r,function(e){p=e.originalEvent?e.originalEvent.touches:e.touches,f=p.length,p=p[0],(Math.abs(p.clientX-c)>10||Math.abs(p.clientY-d)>10)&&(u=!0,i())}).on("touchend"+r,function(e){i(),u||f>1||(a=!0,e.preventDefault(),clearTimeout(l),l=setTimeout(function(){a=!1},t),o())})})}s.on("click"+r,function(){a||o()})})},e.fn.destroyMfpFastClick=function(){e(this).off("touchstart"+r+"
click"+r),n&&I.off("touchmove"+r+"
touchend"+r)}}(),_()});js/jquery.raty.js000064400000034646151165074740010042
0ustar00/*!
 * jQuery Raty - A Star Rating Plugin
 * ------------------------------------------------------------------
 *
 * jQuery Raty is a plugin that generates a customizable star rating.
 *
 * Licensed under The MIT License
 *
 * @version        2.5.2
 * @since          2010.06.11
 * @author         Washington Botelho
 * @documentation  wbotelhos.com/raty
 *
 * ------------------------------------------------------------------
 *
 *  <div id="star"></div>
 *
 *  $('#star').raty();
 *
 */

;(function($) {

  var methods = {
    init: function(settings) {
      return this.each(function() {
        methods.destroy.call(this);

        this.opt = $.extend(true, {}, $.fn.raty.defaults, settings);

        var that  = $(this),
            inits = ['number', 'readOnly',
'score', 'scoreName'];

        methods._callback.call(this, inits);

        if (this.opt.precision) {
          methods._adjustPrecision.call(this);
        }

        this.opt.number = methods._between(this.opt.number, 0,
this.opt.numberMax)

        this.opt.path = this.opt.path || '';

        if (this.opt.path &&
this.opt.path.slice(this.opt.path.length - 1, this.opt.path.length) !==
'/') {
          this.opt.path += '/';
        }

        this.stars = methods._createStars.call(this);
        this.score = methods._createScore.call(this);

        methods._apply.call(this, this.opt.score);

        var space  = this.opt.space ? 4 : 0,
            width  = this.opt.width || (this.opt.number * this.opt.size +
this.opt.number * space);

        if (this.opt.cancel) {
          this.cancel = methods._createCancel.call(this);

          width += (this.opt.size + space);
        }

        if (this.opt.readOnly) {
          methods._lock.call(this);
        } else {
          that.css('cursor', 'pointer');
          methods._binds.call(this);
        }

        if (this.opt.width !== false) {
          that.css('width', width);
        }

        methods._target.call(this, this.opt.score);

        that.data({ 'settings': this.opt, 'raty': true
});
      });
    }, _adjustPrecision: function() {
      this.opt.targetType = 'score';
      this.opt.half       = true;
    }, _apply: function(score) {
      if (score && score > 0) {
        score = methods._between(score, 0, this.opt.number);
        this.score.val(score);
      }

      methods._fill.call(this, score);

      if (score) {
        methods._roundStars.call(this, score);
      }
    }, _between: function(value, min, max) {
      return Math.min(Math.max(parseFloat(value), min), max);
    }, _binds: function() {
      if (this.cancel) {
        methods._bindCancel.call(this);
      }

      methods._bindClick.call(this);
      methods._bindOut.call(this);
      methods._bindOver.call(this);
    }, _bindCancel: function() {
      methods._bindClickCancel.call(this);
      methods._bindOutCancel.call(this);
      methods._bindOverCancel.call(this);
    }, _bindClick: function() {
      var self = this,
          that = $(self);

      self.stars.on('click.raty', function(evt) {
        self.score.val((self.opt.half || self.opt.precision) ?
that.data('score') : this.alt);

        if (self.opt.click) {
          self.opt.click.call(self, parseFloat(self.score.val()), evt);
        }
      });
    }, _bindClickCancel: function() {
      var self = this;

      self.cancel.on('click.raty', function(evt) {
        self.score.removeAttr('value');

        if (self.opt.click) {
          self.opt.click.call(self, null, evt);
        }
      });
    }, _bindOut: function() {
      var self = this;

      $(this).on('mouseleave.raty', function(evt) {
        var score = parseFloat(self.score.val()) || undefined;

        methods._apply.call(self, score);
        methods._target.call(self, score, evt);

        if (self.opt.mouseout) {
          self.opt.mouseout.call(self, score, evt);
        }
      });
    }, _bindOutCancel: function() {
      var self = this;

      self.cancel.on('mouseleave.raty', function(evt) {
        $(this).attr('src', self.opt.path + self.opt.cancelOff);

        if (self.opt.mouseout) {
          self.opt.mouseout.call(self, self.score.val() || null, evt);
        }
      });
    }, _bindOverCancel: function() {
      var self = this;

      self.cancel.on('mouseover.raty', function(evt) {
        $(this).attr('src', self.opt.path + self.opt.cancelOn);

        self.stars.attr('src', self.opt.path +
self.opt.starOff);

        methods._target.call(self, null, evt);

        if (self.opt.mouseover) {
          self.opt.mouseover.call(self, null);
        }
      });
    }, _bindOver: function() {
      var self   = this,
          that   = $(self),
          action = self.opt.half ? 'mousemove.raty' :
'mouseover.raty';

      self.stars.on(action, function(evt) {
        var score = parseInt(this.alt, 10);

        if (self.opt.half) {
          var position = parseFloat((evt.pageX - $(this).offset().left) /
self.opt.size),
              plus     = (position > .5) ? 1 : .5;

          score = score - 1 + plus;

          methods._fill.call(self, score);

          if (self.opt.precision) {
            score = score - plus + position;
          }

          methods._roundStars.call(self, score);

          that.data('score', score);
        } else {
          methods._fill.call(self, score);
        }

        methods._target.call(self, score, evt);

        if (self.opt.mouseover) {
          self.opt.mouseover.call(self, score, evt);
        }
      });
    }, _callback: function(options) {
      for (i in options) {
        if (typeof this.opt[options[i]] === 'function') {
          this.opt[options[i]] = this.opt[options[i]].call(this);
        }
      }
    }, _createCancel: function() {
      var that   = $(this),
          icon   = this.opt.path + this.opt.cancelOff,
          cancel = $('<img />', { src: icon, alt:
'x', title: this.opt.cancelHint, 'class':
'raty-cancel' });

      if (this.opt.cancelPlace == 'left') {
        that.prepend('&#160;').prepend(cancel);
      } else {
        that.append('&#160;').append(cancel);
      }

      return cancel;
    }, _createScore: function() {
      return $('<input />', { type: 'hidden',
name: this.opt.scoreName }).appendTo(this);
    }, _createStars: function() {
      var that = $(this);

      for (var i = 1; i <= this.opt.number; i++) {
        var title = methods._getHint.call(this, i),
            icon  = (this.opt.score && this.opt.score >= i) ?
'starOn' : 'starOff';

        icon = this.opt.path + this.opt[icon];

        $('<img />', { src : icon, alt: i, title: title
}).appendTo(this);

        if (this.opt.space) {
          that.append((i < this.opt.number) ? '&#160;' :
'');
        }
      }

      return that.children('img');
    }, _error: function(message) {
      $(this).html(message);

      $.error(message);
    }, _fill: function(score) {
      var self  = this,
          hash  = 0;

      for (var i = 1; i <= self.stars.length; i++) {
        var star   = self.stars.eq(i - 1),
            select = self.opt.single ? (i == score) : (i <= score);

        if (self.opt.iconRange && self.opt.iconRange.length >
hash) {
          var irange = self.opt.iconRange[hash],
              on     = irange.on  || self.opt.starOn,
              off    = irange.off || self.opt.starOff,
              icon   = select ? on : off;

          if (i <= irange.range) {
            star.attr('src', self.opt.path + icon);
          }

          if (i == irange.range) {
            hash++;
          }
        } else {
          var icon = select ? 'starOn' : 'starOff';

          star.attr('src', this.opt.path + this.opt[icon]);
        }
      }
    }, _getHint: function(score) {
      var hint = this.opt.hints[score - 1];
      return (hint === '') ? '' : (hint || score);
    }, _lock: function() {
      var score = parseInt(this.score.val(), 10), // TODO: 3.1 >>
[['1'], ['2'], ['3', '.1',
'.2']]
          hint  = score ? methods._getHint.call(this, score) :
this.opt.noRatedMsg;

      $(this).data('readonly', true).css('cursor',
'').attr('title', hint);

      this.score.attr('readonly', 'readonly');
      this.stars.attr('title', hint);

      if (this.cancel) {
        this.cancel.hide();
      }
    }, _roundStars: function(score) {
      var rest = (score - Math.floor(score)).toFixed(2);

      if (rest > this.opt.round.down) {
        var icon = 'starOn';                                 //
Up:   [x.76 .. x.99]

        if (this.opt.halfShow && rest < this.opt.round.up) { //
Half: [x.26 .. x.75]
          icon = 'starHalf';
        } else if (rest < this.opt.round.full) {             // Down:
[x.00 .. x.5]
          icon = 'starOff';
        }

        this.stars.eq(Math.ceil(score) - 1).attr('src',
this.opt.path + this.opt[icon]);
      }                              // Full down: [x.00 .. x.25]
    }, _target: function(score, evt) {
      if (this.opt.target) {
        var target = $(this.opt.target);

        if (target.length === 0) {
          methods._error.call(this, 'Target selector invalid or
missing!');
        }

        if (this.opt.targetFormat.indexOf('{score}') < 0) {
          methods._error.call(this, 'Template "{score}"
missing!');
        }

        var mouseover = evt && evt.type == 'mouseover';

        if (score === undefined) {
          score = this.opt.targetText;
        } else if (score === null) {
          score = mouseover ? this.opt.cancelHint : this.opt.targetText;
        } else {
          if (this.opt.targetType == 'hint') {
            score = methods._getHint.call(this, Math.ceil(score));
          } else if (this.opt.precision) {
            score = parseFloat(score).toFixed(1);
          }

          if (!mouseover && !this.opt.targetKeep) {
            score = this.opt.targetText;
          }
        }

        if (score) {
          score =
this.opt.targetFormat.toString().replace('{score}', score);
        }

        if (target.is(':input')) {
          target.val(score);
        } else {
          target.html(score);
        }
      }
    }, _unlock: function() {
      $(this).data('readonly', false).css('cursor',
'pointer').removeAttr('title');

      this.score.removeAttr('readonly', 'readonly');

      for (var i = 0; i < this.opt.number; i++) {
        this.stars.eq(i).attr('title',
methods._getHint.call(this, i + 1));
      }

      if (this.cancel) {
        this.cancel.css('display', '');
      }
    }, cancel: function(click) {
      return this.each(function() {
        if ($(this).data('readonly') !== true) {
          methods[click ? 'click' : 'score'].call(this,
null);
          this.score.removeAttr('value');
        }
      });
    }, click: function(score) {
      return $(this).each(function() {
        if ($(this).data('readonly') !== true) {
          methods._apply.call(this, score);

          if (!this.opt.click) {
            methods._error.call(this, 'You must add the "click:
function(score, evt) { }" callback.');
          }

          this.opt.click.call(this, score, { type: 'click' });

          methods._target.call(this, score);
        }
      });
    }, destroy: function() {
      return $(this).each(function() {
        var that = $(this),
            raw  = that.data('raw');

        if (raw) {
          that.off('.raty').empty().css({ cursor:
raw.style.cursor, width: raw.style.width
}).removeData('readonly');
        } else {
          that.data('raw', that.clone()[0]);
        }
      });
    }, getScore: function() {
      var score = [],
          value ;

      $(this).each(function() {
        value = this.score.val();

        score.push(value ? parseFloat(value) : undefined);
      });

      return (score.length > 1) ? score : score[0];
    }, readOnly: function(readonly) {
      return this.each(function() {
        var that = $(this);

        if (that.data('readonly') !== readonly) {
          if (readonly) {
           
that.off('.raty').children('img').off('.raty');

            methods._lock.call(this);
          } else {
            methods._binds.call(this);
            methods._unlock.call(this);
          }

          that.data('readonly', readonly);
        }
      });
    }, reload: function() {
      return methods.set.call(this, {});
    }, score: function() {
      return arguments.length ? methods.setScore.apply(this, arguments) :
methods.getScore.call(this);
    }, set: function(settings) {
      return this.each(function() {
        var that   = $(this),
            actual = that.data('settings'),
            news   = $.extend({}, actual, settings);

        that.raty(news);
      });
    }, setScore: function(score) {
      return $(this).each(function() {
        if ($(this).data('readonly') !== true) {
          methods._apply.call(this, score);
          methods._target.call(this, score);
        }
      });
    }
  };

  $.fn.raty = function(method) {
    if (methods[method]) {
      return methods[method].apply(this,
Array.prototype.slice.call(arguments, 1));
    } else if (typeof method === 'object' || !method) {
      return methods.init.apply(this, arguments);
    } else {
      $.error('Method ' + method + ' does not
exist!');
    }
  };

  $.fn.raty.defaults = {
    cancel        : false,
    cancelHint    : 'Cancel this rating!',
    cancelOff     : 'cancel-off.png',
    cancelOn      : 'cancel-on.png',
    cancelPlace   : 'left',
    click         : undefined,
    half          : false,
    halfShow      : true,
    hints         : ['bad', 'poor',
'regular', 'good', 'gorgeous'],
    iconRange     : undefined,
    mouseout      : undefined,
    mouseover     : undefined,
    noRatedMsg    : 'Not rated yet!',
    number        : 5,
    numberMax     : 20,
    path          : '',
    precision     : false,
    readOnly      : false,
    round         : { down: .25, full: .6, up: .76 },
    score         : undefined,
    scoreName     : 'score',
    single        : false,
    size          : 16,
    space         : true,
    starHalf      : 'star-half.png',
    starOff       : 'star-off.png',
    starOn        : 'star-on.png',
    target        : undefined,
    targetFormat  : '{score}',
    targetKeep    : false,
    targetText    : '',
    targetType    : 'hint',
    width         : undefined
  };

})(jQuery);
js/kbrules.js000064400000030503151165074740007200 0ustar00var
RSTicketsProConditions = {
	typeOptions: [
		{value: '', text:
Joomla.JText._('RST_PLEASE_SELECT')},
		{value: 'department', text:
Joomla.JText._('RST_DEPARTMENT')},
		{value: 'subject', text:
Joomla.JText._('RST_TICKET_SUBJECT')},
		{value: 'message', text:
Joomla.JText._('RST_TICKET_MESSAGE')},
		{value: 'priority', text:
Joomla.JText._('RST_PRIORITY')},
		{value: 'status', text:
Joomla.JText._('RST_TICKET_STATUS')},
		{value: 'custom_field', text:
Joomla.JText._('RST_CUSTOM_FIELD')}
	],
	conditionOptions: [
		{value: '', text:
Joomla.JText._('RST_PLEASE_SELECT')},
		{value: 'eq', text: Joomla.JText._('RST_IS_EQUAL')},
		{value: 'neq', text:
Joomla.JText._('RST_IS_NOT_EQUAL')},
		{value: 'like', text:
Joomla.JText._('RST_IS_LIKE')},
		{value: 'notlike', text:
Joomla.JText._('RST_IS_NOT_LIKE')}
	],
	connectorOptions: [
		{value: 'AND', text: Joomla.JText._('RST_AND')},
		{value: 'OR', text: Joomla.JText._('RST_OR')}
	],
	addSpacing: function(childContainer, text) {
		if (!text) {
			text = '&nbsp;';
		}

		childContainer.append(jQuery('<span>').html(text));
	},
	getFormControlName: function(name) {
		return 'jform[' + name + '][]';
	},
	changeSelectCustomField: function() {
		var td = this.parentNode.parentNode;
		var children = td.childNodes;
		var responseSpan = false;
		var selectCondition;
		for (var i=0; i<children.length; i++)
		{
			if (children[i].className === 'responseSpan')
			{
				responseSpan = children[i];
				continue;
			}
			if (children[i].name ==
RSTicketsProConditions.getFormControlName('select_condition'))
			{
				selectCondition = children[i];
				continue;
			}
		}

		responseSpan.innerHTML = '';

		selectCondition.options.selectedIndex = 0;
		selectCondition.disabled = true;
		selectCondition.style.display = 'none';

		if (this.value != '')
		{
			selectCondition.disabled = false;
			selectCondition.style.display = '';

			var xmlHttp = new XMLHttpRequest();
			var url =
'index.php?option=com_rsticketspro&task=kbrules.showCustomFieldValues&cfid='
+ this.value;

			xmlHttp.onreadystatechange = function() {
				if (xmlHttp.readyState === 4)
				{
					var has_options = false;

					var select = document.createElement('select');
					select.name =
RSTicketsProConditions.getFormControlName('select_value');
					select.disabled = true;
					select.style.display = 'none';
					try {
						var options = JSON.parse(xmlHttp.responseText);
						if (options)
							for (var i=0; i<options.length; i++)
							{
								has_options = true;
								var option = document.createElement('option');
								option.value = options[i].id;
								option.text = options[i].name;
								select.options.add(option);
							}
					}
					catch (e)
					{
						alert(e);
					}

					if (has_options)
						responseSpan.appendChild(select);

					var textbox = document.createElement('input');
					textbox.type = 'text';
					textbox.name =
RSTicketsProConditions.getFormControlName('select_value');
					textbox.disabled = true;
					textbox.style.display = 'none';
					textbox.value = '';

					responseSpan.appendChild(textbox);
				}
			};

			xmlHttp.open('GET', url, true);
			xmlHttp.send(null);
		}
	},
	changeSelectType: function() {
		var td = this.parentNode;
		var children = td.childNodes;
		var task, selectCondition, responseSpan, responseSpan2, url;
		var xmlHttp = new XMLHttpRequest();

		for (var i=0; i<children.length; i++)
		{
			if (children[i].name ==
RSTicketsProConditions.getFormControlName('select_condition'))
			{
				selectCondition = children[i];
				continue;
			}
			if (children[i].className == 'responseSpan')
			{
				responseSpan = children[i];
				continue;
			}
			if (children[i].className == 'responseSpan2')
			{
				responseSpan2 = children[i];
				continue;
			}
		}

		responseSpan.innerHTML = '';
		responseSpan2.innerHTML = '';

		selectCondition.options.selectedIndex = 0;
		selectCondition.disabled = true;
		selectCondition.style.display = 'none';

		switch (this.value)
		{
			case 'department':
			case 'priority':
			case 'status':
				selectCondition.disabled = false;
				selectCondition.style.display = '';

				if (this.value == 'department')
					task = 'showDepartments';
				else if (this.value == 'priority')
					task = 'showPriorities';
				else if (this.value == 'status')
					task = 'showStatuses';

				url = 'index.php?option=com_rsticketspro&task=kbrules.' +
task;

				xmlHttp.onreadystatechange = function() {
					if (xmlHttp.readyState === 4)
					{
						var select = document.createElement('select');
						select.name =
RSTicketsProConditions.getFormControlName('select_value');
						select.disabled = true;
						select.style.display = 'none';

						try {
							var options = JSON.parse(xmlHttp.responseText);
							if (options)
								for (var i=0; i<options.length; i++)
								{
									var option = document.createElement('option');
									option.value = options[i].id;
									option.text = options[i].name;
									select.options.add(option);
								}
						}
						catch (e)
						{
							alert(e);
						}

						responseSpan.appendChild(select);

						var textbox = document.createElement('input');
						textbox.type = 'text';
						textbox.name =
RSTicketsProConditions.getFormControlName('select_value');
						textbox.disabled = true;
						textbox.style.display = 'none';
						textbox.value = '';

						responseSpan.appendChild(textbox);
					}
				};

				xmlHttp.open('GET', url, true);
				xmlHttp.send(null);
				break;

			case 'subject':
				selectCondition.disabled = false;
				selectCondition.style.display = '';

				var textbox = document.createElement('input');
				textbox.type = 'text';
				textbox.name =
RSTicketsProConditions.getFormControlName('select_value');
				textbox.disabled = true;
				textbox.style.display = 'none';
				textbox.value = '';

				responseSpan.appendChild(textbox);
				break

			case 'message':
				selectCondition.disabled = false;
				selectCondition.style.display = '';

				var textarea = document.createElement('textarea');
				textarea.name =
RSTicketsProConditions.getFormControlName('select_value');
				textarea.disabled = true;
				textarea.style.display = 'none';
				textarea.value = '';

				responseSpan.appendChild(textarea);
				break;

			case 'custom_field':
				url =
'index.php?option=com_rsticketspro&task=kbrules.showCustomFields';

				xmlHttp.onreadystatechange = function() {
					if (xmlHttp.readyState === 4)
					{
						var select = document.createElement('select');
						var option = document.createElement('option');
						option.value = '';
						option.text = Joomla.JText._('RST_PLEASE_SELECT');
						select.options.add(option);

						select.name =
RSTicketsProConditions.getFormControlName('select_custom_field_value');

						try {
							var response = JSON.parse(xmlHttp.responseText);
							var departments = response.departments;
							var options = response.options;

							for (var i=0; i<departments.length; i++)
							{
								var group = document.createElement('optgroup');
								group.label = departments[i].name;

								for (var j=0; j<options.length; j++)
								{
									if (options[j].department_id != departments[i].id)
									{
										continue;
									}

									var option = document.createElement('option');
									option.value = options[j].id;
									if (typeof(option.innerText) != 'undefined')
										option.innerText = options[j].name;
									else
										option.text = options[j].name;

									group.appendChild(option);
								}

								select.appendChild(group);
							}
						}
						catch (e)
						{
							alert(e);
						}

						jQuery(select).change(RSTicketsProConditions.changeSelectCustomField);
						responseSpan2.appendChild(select);

						var textbox = document.createElement('input');
						textbox.type = 'text';
						textbox.name =
RSTicketsProConditions.getFormControlName('select_value');
						textbox.disabled = true;
						textbox.style.display = 'none';
						textbox.value = '';

						responseSpan.appendChild(textbox);
					}
				};

				xmlHttp.open('GET', url, true);
				xmlHttp.send(null);
				break;
		}
	},
	changeSelectCondition: function() {
		var td = this.parentNode;
		var children = td.childNodes;
		var responseSpan = false;
		for (var i=0; i<children.length; i++)
			if (children[i].className == 'responseSpan')
			{
				responseSpan = children[i];
				break;
			}

		var children = responseSpan.childNodes;

		for (var i=0; i<children.length; i++)
		{
			children[i].disabled = true;
			if (typeof children[i].style != 'undefined')
				children[i].style.display = 'none';
		}

		if (!children.length)
			return;

		switch (this.value)
		{
			case 'neq':
			case 'eq':
				children[0].disabled = false;
				children[0].style.display = '';
				break;

			case 'like':
			case 'notlike':
				if (children.length == 2)
				{
					children[1].disabled = false;
					children[1].style.display = '';
				}
				else
				{
					children[0].disabled = false;
					children[0].style.display = '';
				}
				break
		}
	},
	add: function() {
		var childContainer = jQuery('<p>').html('<span
class="rst_condition_if">' +
Joomla.JText._('RST_IF') + '</span> ');

		var selectType = jQuery('<select>', {
			'name':
RSTicketsProConditions.getFormControlName('select_type')
		});
		selectType.change(this.changeSelectType);
		for (var i=0; i<this.typeOptions.length; i++) {
			var typeOption = this.typeOptions[i];
			selectType.append(jQuery('<option>', {
				value: typeOption.value,
				text: typeOption.text
			}));
		}
		childContainer.append(selectType);

		this.addSpacing(childContainer);
		childContainer.append(jQuery('<span>', {
			'class': 'responseSpan2'
		}));
		this.addSpacing(childContainer);

		var selectCondition = jQuery('<select>', {
			'name':
RSTicketsProConditions.getFormControlName('select_condition'),
			'disabled': true
		}).hide();
		selectCondition.change(this.changeSelectCondition);
		for (var i=0; i<this.conditionOptions.length; i++) {
			var typeOption = this.conditionOptions[i];
			selectCondition.append(jQuery('<option>', {
				value: typeOption.value,
				text: typeOption.text
			}));
		}
		childContainer.append(selectCondition);

		this.addSpacing(childContainer);
		childContainer.append(jQuery('<span>', {
			'class': 'responseSpan'
		}));
		this.addSpacing(childContainer);

		var selectConnector = jQuery('<select>', {
			'name':
RSTicketsProConditions.getFormControlName('select_connector')
		});
		for (var i=0; i<this.connectorOptions.length; i++) {
			var typeOption = this.connectorOptions[i];
			selectConnector.append(jQuery('<option>', {
				value: typeOption.value,
				text: typeOption.text
			}));
		}

		childContainer.append(selectConnector);
		this.addSpacing(childContainer);

		var removeButton = jQuery('<button type="button"
class="btn btn-danger deleteConditionLink"><span
class="icon icon-minus"></span></button>');

		removeButton.click(function(){
			RSTicketsProConditions.remove(this);
		});

		childContainer.append(removeButton);

		jQuery('#rst_conditions').append(childContainer);
	},
	remove: function(btn) {
		jQuery(btn).parent().remove();
	}
}

jQuery(document).ready(function($) {
	$('.deleteConditionLink').click(function(){
		RSTicketsProConditions.remove(this);
	});
	$('#addConditionLink').click(function(){
		RSTicketsProConditions.add();
	});

	var selectType =
RSTicketsProConditions.getFormControlName('select_type');
	var i;
	for (i = 0; i < document.getElementsByName(selectType).length; i++) {
		$(document.getElementsByName(selectType)[i]).change(RSTicketsProConditions.changeSelectType);
	}
	var selectCondition =
RSTicketsProConditions.getFormControlName('select_condition');
	for (i = 0; i < document.getElementsByName(selectCondition).length;
i++) {
		$(document.getElementsByName(selectCondition)[i]).change(RSTicketsProConditions.changeSelectCondition);
	}
	var selectCustomField =
RSTicketsProConditions.getFormControlName('select_custom_field_value');
	for (i = 0; i < document.getElementsByName(selectCustomField).length;
i++) {
		$(document.getElementsByName(selectCustomField)[i]).change(RSTicketsProConditions.changeSelectCustomField);
	}
});js/ordertable.js000064400000000560151165074740007654
0ustar00Joomla.orderTable = function(listOrder) {
	table = document.getElementById("sortTable");
	direction = document.getElementById("directionTable");
	order = table.options[table.selectedIndex].value;
	
	if (order != listOrder) {
		dirn = 'asc';
	} else {
		dirn = direction.options[direction.selectedIndex].value;
	}
	
	Joomla.tableOrdering(order, dirn, '');
}js/predefinedsearches.js000064400000001207151165074740011353
0ustar00window.addEventListener('DOMContentLoaded', function() {
    var toggleDelete = function() {
        var btn = document.getElementById('rst_delete_btn');

        if (document.getElementsByName('boxchecked')[0].value ===
'0') {
            btn.setAttribute('disabled', 'disabled');
        } else {
            btn.removeAttribute('disabled');
        }
    }

   
document.getElementsByName('checkall-toggle')[0].addEventListener('click',
toggleDelete);

    var elements = document.getElementsByName('cid[]');
    for (var i = 0; i < elements.length; i++) {
        elements[i].addEventListener('click', toggleDelete);
    }
});js/rsticketspro.js000064400000042443151165074750010274 0ustar00var
RSTicketsPro = {
	getHttp               : function () {
		var xmlHttp;
		try {
			// Firefox, Opera 8.0+, Safari
			xmlHttp = new XMLHttpRequest();
		} catch (e) {
			// Internet Explorer
			try {
				xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
			} catch (e) {
				xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
			}
		}
		return xmlHttp;
	},
	sendHttp              : function (httpUrl, httpParams, httpType) {
		xmlHttp = this.getHttp();
		if (typeof httpParams == 'array') {
			httpParams = httpParams.join('&');
		} else if (typeof httpParams == 'object') {
			var tmpParams = [];
			for (var k in httpParams) {
				tmpParams.push(k + '=' + httpParams[k]);
			}
			httpParams = tmpParams.join('&');
		}
		httpType = httpType.toUpperCase();

		xmlHttp.open(httpType, httpUrl, true);
		if (httpType == 'POST') {
			xmlHttp.setRequestHeader('Content-type',
'application/x-www-form-urlencoded');
		}

		xmlHttp.send(httpParams);
	},
	flagTicket            : function (url, button, ticket_id) {
		var flagged;
		// no flag
		if (button.classList.contains('rst_not_flagged')) {
			button.classList.remove('rst_not_flagged');
			button.classList.add('rst_flagged');
			flagged = 1;
		} else {
			button.classList.remove('rst_flagged');
			button.classList.add('rst_not_flagged');
			flagged = 0;
		}

		this.sendHttp(
			url, {
				'option' : 'com_rsticketspro',
				'task'   : 'ticket.flag',
				'cid'    : ticket_id,
				'flagged': flagged
			},
			'POST'
		);
	},
	disableBulk           : function (value) {
		value = value == 0 ? false : true;

		if (document.getElementById('bulk_staff_id')) {
			document.getElementById('bulk_staff_id').disabled = value;
		}
		if (document.getElementById('bulk_priority_id')) {
			document.getElementById('bulk_priority_id').disabled = value;
		}
		if (document.getElementById('bulk_status_id')) {
			document.getElementById('bulk_status_id').disabled = value;
		}
		if (document.getElementById('bulk_notify')) {
			document.getElementById('bulk_notify').disabled = value;
		}
		if (document.getElementById('bulk_department_id')) {
			document.getElementById('bulk_department_id').disabled =
value;
		}

		if (typeof jQuery != 'undefined') {
			jQuery('#bulk_staff_id').trigger('liszt:updated');
			jQuery('#bulk_priority_id').trigger('liszt:updated');
			jQuery('#bulk_status_id').trigger('liszt:updated');
			jQuery('#bulk_notify').trigger('liszt:updated');
		}
	},
	departments           : {},
	getDepartment         : function () {
		if (typeof
this.departments[document.getElementsByName('jform[department_id]')[0].value]
!== 'undefined')
		{
			return
this.departments[document.getElementsByName('jform[department_id]')[0].value];
		}

		return {
			id: 0,
			priority: '',
			uploads: {
				required: false,
				allowed: false,
				message: '',
				message_max_files: '',
				message_max_size: '',
				max: 0
			}
		};
	},
	changeDepartment      : function () {
		var department = this.getDepartment();

		this.changePriority(department);
		this.showFiles(department);
		this.showPredefinedSubjects(department);
	},
	changePriority        : function (department) {
		document.getElementsByName('jform[priority_id]')[0].value =
department.priority;
	},
	showFiles             : function (department) {
		var containers = {
			message:
document.getElementById('rst_files_message_container'),
			files  : document.querySelector('.rst_files_container'),
			label  : document.getElementById('jform_files-lbl')
		};

		// hide the containers
		containers.message.style.display = 'none';
		containers.files.classList.add('hidden');
		containers.label.innerText =
Joomla.JText._('RST_TICKET_ATTACHMENTS');

		if (department.uploads.allowed) {
			// set the message
			containers.message.innerHTML = '<p>' +
department.uploads.message + ' ' +
department.uploads.message_max_files + ' ' +
department.uploads.message_max_size + '</p>';

			var currentFiles =
document.getElementsByName('jform[files][]');

			// adjust the number of upload fields
			if (department.uploads.max > 0 && currentFiles.length >=
department.uploads.max) {
				for (var i = currentFiles.length - 1; i > department.uploads.max -
1; i--) {
					currentFiles[i].parentNode.removeChild(currentFiles[i]);
				}
			}

			if (department.uploads.required)
			{
                containers.label.innerText =
Joomla.JText._('RST_TICKET_ATTACHMENTS_REQUIRED');
			}

			// display the containers
			containers.message.style.display = 'block';
			containers.files.classList.remove('hidden');
		}
	},
	addReplyFile          : function () {
		var department = this.getDepartment();
		var currentFiles =
document.getElementsByName('ticket[files][]');

		if (department.uploads.max > 0 && currentFiles.length >=
department.uploads.max) {
			alert(Joomla.JText._('RST_MAX_UPLOAD_FILES_REACHED'));
		} else {
			var file = currentFiles[0];
			var newUpload = document.createElement('input');
			newUpload.setAttribute('name', 'ticket[files][]');
			newUpload.setAttribute('type', 'file');
			newUpload.setAttribute('id', 'jform_files' +
currentFiles.length);
			newUpload.setAttribute('class', 'rst_file_block');
			newUpload.className = 'rst_file_block';
			var newLabel = document.createElement('label');

			file.parentNode.appendChild(newLabel);
			file.parentNode.appendChild(newUpload);
		}
	},
	addSubmitFile         : function () {
		var department = this.getDepartment();
		var currentFiles =
document.getElementsByName('jform[files][]');

		if (department.uploads.max > 0 && currentFiles.length >=
department.uploads.max) {
			alert(Joomla.JText._('RST_MAX_UPLOAD_FILES_REACHED'));
		} else {
			var file = currentFiles[0];
			var newUpload = document.createElement('input');
			newUpload.setAttribute('name', 'jform[files][]');
			newUpload.setAttribute('type', 'file');
			newUpload.setAttribute('id', 'jform_files' +
currentFiles.length);
			newUpload.setAttribute('class', 'rst_file_block');
			newUpload.className = 'rst_file_block';
			var newLabel = document.createElement('label');

			file.parentNode.appendChild(newLabel);
			file.parentNode.appendChild(newUpload);
		}
	},

	showPredefinedSubjects: function (department) {

	},
	populateSelect        : function (select, values) {
		select.options.length = 0;
		for (k in values) {
			var option = document.createElement('option');
			option.text = values[k];
			option.value = k;

			// check if it findsthe [c] tag
			if (option.value.indexOf('[c]') > -1) {
				option.defaultSelected = true;
				
				// we will remove the tag after we set the select true
				option.text = option.text.replace('[c]', '');
				option.value = option.value.replace('[c]', '');
			}

			try {
				select.add(option, null); // standards compliant; doesn't work in
IE
			}
			catch (ex) {
				select.add(option); // IE only
			}
		}
	},
	disableStaff          : function (departmentDropdown, staffDropdown) {
		var departmentText;
		var departmentValue;

		if (!departmentDropdown) {
			if (document.getElementsByName('ticket[department_id]').length
> 0) {
				departmentDropdown =
document.getElementsByName('ticket[department_id]')[0];
				departmentText =
departmentDropdown.options[departmentDropdown.selectedIndex].text;
				departmentValue =
departmentDropdown.options[departmentDropdown.selectedIndex].value;
			} else if
(document.getElementsByName('hidden_department_id').length >
0) {
				departmentText =
document.getElementsByName('hidden_department_id')[0].value;
			}
		} else {
			departmentText =
departmentDropdown.options[departmentDropdown.selectedIndex].text;
			departmentValue =
departmentDropdown.options[departmentDropdown.selectedIndex].value;
		}

		if (!staffDropdown) {
			if (document.getElementsByName('ticket[staff_id]').length >
0) {
				staffDropdown =
document.getElementsByName('ticket[staff_id]')[0];
			}
		}

		if (!staffDropdown) {
			return false;
		}

		if (typeof departmentText === 'undefined') {
			return false;
		}

		var optgroups =
staffDropdown.getElementsByTagName('optgroup');
		var optgroup, options;
		var i;

		for (i = 0; i < optgroups.length; i++) {
			optgroup = optgroups[i];
			options = optgroup.getElementsByTagName('option');
			for (j = 0; j < options.length; j++) {
				options[j].disabled = true;
				if (optgroups[i].getAttribute('label') == departmentText ||
departmentValue === '0') {
					options[j].disabled = false;
				}
			}
		}

		if (staffDropdown.options[staffDropdown.selectedIndex].disabled) {
			var found = false;
			// search if the selected staff is in this department
			for (i = 0; i < optgroups.length; i++) {
				optgroup = optgroups[i];
				if (optgroups[i].getAttribute('label') == departmentText) {
					options = optgroup.getElementsByTagName('option');
					for (var j = 0; j < options.length; j++) {
						if (!options[j].disabled && options[j].value ==
staffDropdown.options[staffDropdown.selectedIndex].value) {
							found = true;
							options[j].selected = true;
						}
					}
				}
			}

			if (!found) {
				staffDropdown.selectedIndex = 0;
			}
		}

		if (typeof jQuery !== 'undefined') {
			jQuery(staffDropdown).trigger('liszt:updated');
		}
	},
	showReply             : function (button) {
		button.className = 'hidden';
		document.getElementById('com-rsticketspro-reply-box').className
= '';
	},
	sendRating            : function (url, rating, id) {
		this.sendHttp(
			url, {
				'option': 'com_rsticketspro',
				'task'  : 'ticket.rate',
				'cid'   : id,
				'rating': rating
			},
			'POST'
		);
	},
	refreshCaptcha        : function (route) {
		document.getElementById('submit_captcha_image').src = route +
(route.indexOf('?') > -1 ? '&' : '?')
+ 'sid=' + Math.floor((Math.random() * 1000) + 1);
	},
	
	openMagnificModal 	  : function(evt,modal_id) {
		evt.preventDefault();
		if (typeof jQuery == 'undefined') {
			alert(Joomla.JText._('RST_JQUERY_NOT_FOUND'));
		} else {
			jQuery.magnificPopup.open({
				type: 'inline',
				preloader: true,
				overflowY: 'scroll',
				items: {
					src: modal_id,
					callbacks: {
						beforeOpen: function () {
							jQuery(modal_id).show();
						},
						close: function () {
							jQuery(modal_id).hide();
						}
					}
				}
			});
		}
	},
	addEvent: function(obj, evType, fn) {
		if (obj.addEventListener)
		{
			obj.addEventListener(evType, fn, false);
			return true;
		}
		else if (obj.attachEvent)
		{
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		}
		else
		{
			return false;
		}
	},
	timeCounter: function(startTime) {
		var start = new Date(startTime);
		var end;
		var timediff = start.getTimezoneOffset();
		start = start.getTime();

		self.chrono = function (){
			end = new Date();
			end = end.getTime();

			if (timediff != 0) {
				end = end + timediff * 60000;
			}

			var duration = end - start;

			var seconds = Math.floor((duration / 1000) % 60),
				minutes = Math.floor((duration / (1000 * 60)) % 60),
				hours = Math.floor(duration / (1000 * 60 * 60));

			hours = (hours < 10) ? "0" + hours : hours;
			minutes = (minutes < 10) ? "0" + minutes : minutes;
			seconds = (seconds < 10) ? "0" + seconds : seconds;

			jQuery('.hours').html(hours);
			jQuery('.minutes').html(minutes);
			jQuery('.seconds').html(seconds);

			setTimeout("self.chrono()", 1000);
		};
		self.chrono();
	}
};

/*
 Developed by Robert Nyman, http://www.robertnyman.com
 Code/licensing: http://code.google.com/p/getelementsbyclassname/
 */
RSTicketsPro.getElementsByClassName = function (className, tag, elm) {
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag) ? new RegExp("\\b" + tag + "\\b",
"i") : null,
				returnElements = [],
				current;
			for (var i = 0, il = elements.length; i < il; i += 1) {
				current = elements[i];
				if (!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI ===
xhtmlNamespace) ? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for (var j = 0, jl = classes.length; j < jl; j += 1) {
				classesToCheck += "[contains(concat(' ', @class, '
'), ' " + classes[j] + " ')]";
			}
			try {
				elements = document.evaluate(".//" + tag + classesToCheck,
elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck,
elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all) ? elm.all :
elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for (var k = 0, kl = classes.length; k < kl; k += 1) {
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] +
"(\\s|$)"));
			}
			for (var l = 0, ll = elements.length; l < ll; l += 1) {
				current = elements[l];
				match = false;
				for (var m = 0, ml = classesToCheck.length; m < ml; m += 1) {
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};

// Legacy functions
function rst_get_xml_http_object() {
	return RSTicketsPro.getHttp();
}

function rst_flag_ticket(url, button, ticket_id) {
	RSTicketsPro.flagTicket(url, button, ticket_id);
}

function rst_feedback(url, value, ticket_id) {
	if (window.rsticketspro_rating.options.disabled)
		return false;

	rst_feedback_message();

	var xmlHttp = new XMLHttpRequest();

	var params = 'option=com_rsticketspro';
	params += '&controller=ticket';
	params += '&task=feedback';
	params += '&cid=' + ticket_id;
	params += '&feedback=' + value;
	xmlHttp.open("POST", url, true);

	//Send the proper header information along with the request
	xmlHttp.setRequestHeader("Content-type",
"application/x-www-form-urlencoded");

	xmlHttp.send(params);

	window.rsticketspro_rating.options.disabled = true;
}

var rst_buffer;

function rst_search(value) {
	if (value.length == 0) {
		rst_close_search();
		return;
	}

	if (rst_buffer)
		clearTimeout(rst_buffer);
	rst_buffer = setTimeout(function () {
		rst_search_ajax(value);
	}, 300);
}

function rst_search_ajax(value) {
	var xmlHttp = new XMLHttpRequest();

	var url =
'index.php?option=com_rsticketspro&task=kbsearch';
	url += '&filter=' + value;
	url += '&sid=' + Math.random();
	xmlHttp.onreadystatechange = function () {
		if (xmlHttp.readyState == 4) {
			document.getElementById('rst_livesearch').innerHTML =
xmlHttp.responseText;
			document.getElementById('rst_livesearch').style.border =
'1px solid #A5ACB2';
			document.getElementById('rst_livesearch').style.display =
'';
		}
	}
	xmlHttp.open("GET", url, true);
	xmlHttp.send(null);
}

function rst_close_search() {
	document.getElementById('rst_search_value').value =
'';
	document.getElementById('rst_livesearch').style.display =
'none';
	document.getElementById('rst_livesearch').innerHTML =
'';
	document.getElementById('rst_livesearch').style.border =
'0px';

	return false;
}

function rst_disable_staff() {

}

RSTicketsPro.removeData = function(button) {
    jQuery(button).fadeOut({
        complete: function() {
           
jQuery('#rsticketspro_remove_data_and_close_account').fadeIn();
        }
    });
};

RSTicketsPro.requestRemoveData = function(button) {
    jQuery(button).prop('disabled',
true).addClass('disabled');
    var container =
jQuery('#rsticketspro_remove_data_and_close_account');

    var url = Joomla.getOptions('system.paths').root +
'/index.php';
    var token = Joomla.getOptions('csrf.token');
    var data = {
        'option': 'com_rsticketspro',
        'task': 'removedata.request'
    };
    data[token] = 1;
    jQuery.post(url, data, function(response){
        container.fadeOut({
            complete: function() {
               
container.find('.alert-warning').removeClass('alert-warning').addClass('alert-info');
                container.find('.alert').text(response);
                container.fadeIn();
            }
        })
    });
};

RSTicketsPro.initRaty = function(params) {
	jQuery(document).ready(function($) {
		params.click = function(score, evt) {
			var url = Joomla.getOptions('system.paths').base;
			var ticketId = document.getElementsByName('id')[0].value;

			$(this).raty('readOnly', true);
			$('#com-rsticketspro-rated-message').hide().html(Joomla.JText._('RST_TICKET_FEEDBACK_SENT')).fadeIn();
			RSTicketsPro.sendRating(url +
'/index.php?option=com_rsticketspro', score, ticketId);
		};

		$('#star').raty(params);
	});
};js/tickets.js000064400000001004151165074750007172
0ustar00window.addEventListener('DOMContentLoaded', function() {
    var toggleBulk = function() {
        document.getElementById('bulk_actions').style.display =
document.getElementsByName('boxchecked')[0].value ===
'0' ? 'none' : 'block';
    }

   
document.getElementsByName('checkall-toggle')[0].addEventListener('click',
toggleBulk);

    var elements = document.getElementsByName('cid[]');
    for (var i = 0; i < elements.length; i++) {
        elements[i].addEventListener('click', toggleBulk);
    }
});js/typeahead.js000064400000021067151165074750007503 0ustar00/*
=============================================================
 * bootstrap-typeahead.js v2.3.2
 * http://getbootstrap.com/2.3.2/javascript.html#typeahead
 * =============================================================
 * Copyright 2013 Twitter, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the
"License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS"
BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * ============================================================ */


!function($){

  "use strict"; // jshint ;_;


 /* TYPEAHEAD PUBLIC CLASS DEFINITION
  * ================================= */

  var Typeahead = function (element, options) {
    this.$element = $(element)
    this.options = $.extend({}, $.fn.typeahead.defaults, options)
    this.matcher = this.options.matcher || this.matcher
    this.sorter = this.options.sorter || this.sorter
    this.highlighter = this.options.highlighter || this.highlighter
    this.updater = this.options.updater || this.updater
    this.source = this.options.source
    this.$menu = $(this.options.menu)
    this.shown = false
    this.listen()
  }

  Typeahead.prototype = {

    constructor: Typeahead

  , select: function () {
      var val =
this.$menu.find('.typeahead-active').attr('data-value')
      this.$element
        .val(this.updater(val))
        .change()
      return this.hide()
    }

  , updater: function (item) {
      return item
    }

  , show: function () {
      var pos = $.extend({}, this.$element.position(), {
        height: this.$element[0].offsetHeight
      })

      this.$menu
        .insertAfter(this.$element)
        .css({
          top: pos.top + pos.height
        , left: pos.left
        })
        .show()

      this.shown = true
      return this
    }

  , hide: function () {
      this.$menu.hide()
      this.shown = false
      return this
    }

  , lookup: function (event) {
      var items

      this.query = this.$element.val()

      if (!this.query || this.query.length < this.options.minLength) {
        return this.shown ? this.hide() : this
      }

      items = $.isFunction(this.source) ? this.source(this.query,
$.proxy(this.process, this)) : this.source

      return items ? this.process(items) : this
    }

  , process: function (items) {
      var that = this

      items = $.grep(items, function (item) {
        return that.matcher(item)
      })

      items = this.sorter(items)

      if (!items.length) {
        return this.shown ? this.hide() : this
      }

      return this.render(items.slice(0, this.options.items)).show()
    }

  , matcher: function (item) {
      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
    }

  , sorter: function (items) {
      var beginswith = []
        , caseSensitive = []
        , caseInsensitive = []
        , item

      while (item = items.shift()) {
        if (!item.toLowerCase().indexOf(this.query.toLowerCase()))
beginswith.push(item)
        else if (~item.indexOf(this.query)) caseSensitive.push(item)
        else caseInsensitive.push(item)
      }

      return beginswith.concat(caseSensitive, caseInsensitive)
    }

  , highlighter: function (item) {
      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,
'\\$&')
      return item.replace(new RegExp('(' + query + ')',
'ig'), function ($1, match) {
        return '<strong>' + match +
'</strong>'
      })
    }

  , render: function (items) {
      var that = this

      items = $(items).map(function (i, item) {
        i = $(that.options.item).attr('data-value', item)
        i.find('a').html(that.highlighter(item))
        return i[0]
      })

      items.first().addClass('typeahead-active')
      this.$menu.html(items)
      return this
    }

  , next: function (event) {
      var active =
this.$menu.find('.typeahead-active').removeClass('typeahead-active')
        , next = active.next()

      if (!next.length) {
        next = $(this.$menu.find('li')[0])
      }

      next.addClass('typeahead-active')
    }

  , prev: function (event) {
      var active =
this.$menu.find('.typeahead-active').removeClass('typeahead-active')
        , prev = active.prev()

      if (!prev.length) {
        prev = this.$menu.find('li').last()
      }

      prev.addClass('typeahead-active')
    }

  , listen: function () {
      this.$element
        .on('focus',    $.proxy(this.focus, this))
        .on('blur',     $.proxy(this.blur, this))
        .on('keypress', $.proxy(this.keypress, this))
        .on('keyup',    $.proxy(this.keyup, this))

      if (this.eventSupported('keydown')) {
        this.$element.on('keydown', $.proxy(this.keydown, this))
      }

      this.$menu
        .on('click', $.proxy(this.click, this))
        .on('mouseenter', 'li',
$.proxy(this.mouseenter, this))
        .on('mouseleave', 'li',
$.proxy(this.mouseleave, this))
    }

  , eventSupported: function(eventName) {
      var isSupported = eventName in this.$element
      if (!isSupported) {
        this.$element.setAttribute(eventName, 'return;')
        isSupported = typeof this.$element[eventName] ===
'function'
      }
      return isSupported
    }

  , move: function (e) {
      if (!this.shown) return

      switch(e.keyCode) {
        case 9: // tab
        case 13: // enter
        case 27: // escape
          e.preventDefault()
          break

        case 38: // up arrow
          e.preventDefault()
          this.prev()
          break

        case 40: // down arrow
          e.preventDefault()
          this.next()
          break
      }

      e.stopPropagation()
    }

  , keydown: function (e) {
      this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
      this.move(e)
    }

  , keypress: function (e) {
      if (this.suppressKeyPressRepeat) return
      this.move(e)
    }

  , keyup: function (e) {
      switch(e.keyCode) {
        case 40: // down arrow
        case 38: // up arrow
        case 16: // shift
        case 17: // ctrl
        case 18: // alt
          break

        case 9: // tab
        case 13: // enter
          if (!this.shown) return
          this.select()
          break

        case 27: // escape
          if (!this.shown) return
          this.hide()
          break

        default:
          this.lookup()
      }

      e.stopPropagation()
      e.preventDefault()
  }

  , focus: function (e) {
      this.focused = true
    }

  , blur: function (e) {
      this.focused = false
      if (!this.mousedover && this.shown) this.hide()
    }

  , click: function (e) {
      e.stopPropagation()
      e.preventDefault()
      this.select()
      this.$element.focus()
    }

  , mouseenter: function (e) {
      this.mousedover = true
     
this.$menu.find('.typeahead-active').removeClass('typeahead-active')
      $(e.currentTarget).addClass('typeahead-active')
    }

  , mouseleave: function (e) {
      this.mousedover = false
      if (!this.focused && this.shown) this.hide()
    }

  }


  /* TYPEAHEAD PLUGIN DEFINITION
   * =========================== */

  var old = $.fn.typeahead

  $.fn.typeahead = function (option) {
    return this.each(function () {
      var $this = $(this)
        , data = $this.data('typeahead')
        , options = typeof option == 'object' && option
      if (!data) $this.data('typeahead', (data = new
Typeahead(this, options)))
      if (typeof option == 'string') data[option]()
    })
  }

  $.fn.typeahead.defaults = {
    source: []
  , items: 8
  , menu: '<ul class="typeahead
dropdown-menu"></ul>'
  , item: '<li><a
href="#"></a></li>'
  , minLength: 1
  }

  $.fn.typeahead.Constructor = Typeahead


 /* TYPEAHEAD NO CONFLICT
  * =================== */

  $.fn.typeahead.noConflict = function () {
    $.fn.typeahead = old
    return this
  }


 /* TYPEAHEAD DATA-API
  * ================== */

  $(document).on('focus.typeahead.data-api',
'[data-provide="typeahead"]', function (e) {
    var $this = $(this)
    if ($this.data('typeahead')) return
    $this.typeahead($this.data())
  })

}(window.jQuery);
js/users.js000064400000002220151165074750006666 0ustar00function
RSTicketsProSelectUser(self) {
    if (window.parent) {
        var func = 'jSelectUser_' +
document.getElementsByName('field')[0].value;
        var alt_email;
        if (typeof window.parent[func] == 'function') {
            var id = self.getAttribute('data-user-value');
            var name = self.getAttribute('data-user-name');
            alt_email =  self.getAttribute('data-alt-email');
            window.parent[func](id, name);
        }
        if (typeof window.parent.jSelectUser == 'function') {
            alt_email = self.getAttribute('data-alt-email');
            window.parent.jSelectUser(self);
        }

        if (typeof alt_email !== 'undefined') {
            var alt_email_field =
window.parent.document.getElementById('jform_alternative_email');
            if (alt_email_field != null) {
                alt_email_field.value = alt_email;
            }
            var alt_email_field_ticket =
window.parent.document.getElementById('ticket_alternative_email');
            if (alt_email_field_ticket != null) {
                alt_email_field_ticket.value = alt_email;
            }
        }
    }
}assets/files/index.html000064400000000054151165235030011145
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>assets/index.html000064400000000054151165235030010043
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>assets/thumbs/index.html000064400000000054151165235030011345
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>assets/thumbs/small/index.html000064400000000054151165235030012455
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>controller.php000064400000012372151165235030007446
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproController extends JControllerLegacy
{
	public function captcha()
	{
		if (RSTicketsProHelper::getConfig('captcha_enabled') == 1)
		{
			require_once JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/helpers/captcha/captcha.php';
			$captcha = new RsticketsproCaptcha;
			
			$captcha->setLength(RSTicketsProHelper::getConfig('captcha_characters'));
			
			ob_end_clean();

			$captcha->getImage();

			JFactory::getApplication()->setHeader('content-type',
'image/jpeg');
			JFactory::getApplication()->sendHeaders();
		}

		JFactory::getApplication()->close();
	}
	
	public function resetsearch()
	{
		$model = $this->getModel('tickets');
		$model->resetSearch();
		
		$this->setRedirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets',
false));
	}
	
	public function cron()
	{
		if
(file_exists(JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/cron.php'))
		{
			require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/cron.php';
			
			$types 	= array(1,2);
			$cron 	= new RSTicketsProCron($types);
			
			$cron->parse();
		}
	}
	
	public function viewinline()
	{
		try
		{
			$db			 = JFactory::getDbo();
			$query		 = $db->getQuery(true);
			$app		 = JFactory::getApplication();
			$user		 = JFactory::getUser();
			$filename	 =
$app->input->getString('filename','');
			$ticket_id	 = $app->input->getInt('cid',0);
			$is_staff	 = RSTicketsProHelper::isStaff();
			$permissions = RSTicketsProHelper::getCurrentPermissions();
			$departments = RSTicketsProHelper::getCurrentDepartments();

			$query->select($db->qn('customer_id'))
				->select($db->qn('department_id'))
				->select($db->qn('staff_id'))
				->from($db->qn('#__rsticketspro_tickets'))
				->where($db->qn('id') .' = ' .
$db->q($ticket_id));

			$ticket = $db->setQuery($query)->loadObject();

			if (!$ticket)
			{
				throw new
Exception(JText::_('RST_CUSTOMER_CANNOT_VIEW_TICKET'));
			}

			// Check for permissions
			if (!$is_staff && $ticket->customer_id !=
$user->get('id'))
			{
				throw new
Exception(JText::_('RST_CUSTOMER_CANNOT_VIEW_TICKET'));
			}

			if ($is_staff)
			{
				// Staff - check if belongs to department only if he is not the
customer
				if ($ticket->customer_id != $user->get('id') &&
!in_array($ticket->department_id, $departments))
				{
					throw new
Exception(JText::_('RST_STAFF_CANNOT_VIEW_TICKET'));
				}

				if (RSTicketsProHelper::getConfig('staff_force_departments')
&& !in_array($ticket->department_id, $departments))
				{
					throw new
Exception(JText::_('RST_STAFF_CANNOT_VIEW_TICKET'));
				}

				if (!$permissions->see_unassigned_tickets &&
$ticket->staff_id == 0)
				{
					throw new
Exception(JText::_('RST_STAFF_CANNOT_VIEW_TICKET'));
				}

				if (!$permissions->see_other_tickets && $ticket->staff_id
> 0 && $ticket->staff_id != $user->get('id'))
				{
					throw new
Exception(JText::_('RST_STAFF_CANNOT_VIEW_TICKET'));
				}
			}

			$query->clear()
				->select('*')
				->from($db->qn('#__rsticketspro_ticket_files'))
				->where($db->qn('ticket_id') . ' = ' .
$db->q($ticket_id))
				->where($db->qn('filename') . ' = ' .
$db->q($filename));

			$file = $db->setQuery($query)->loadObject();

			if (empty($file))
			{
				throw new Exception(JText::_('RST_CANNOT_DOWNLOAD_FILE'));
			}

			$hash = md5($file->id . ' ' .
$file->ticket_message_id);
			$path = RST_UPLOAD_FOLDER . '/' . $hash;

			if (!file_exists($path))
			{
				throw new
Exception(JText::_('RST_CANNOT_DOWNLOAD_FILE_NOT_EXIST'));
			}

			$extension = strtolower(JFile::getExt($file->filename));
			$images    = array('jpg', 'jpeg', 'gif',
'png');
			if (in_array($extension, $images))
			{
				if ($extension === 'jpg')
				{
					$extension = 'jpeg';
				}

				header('Content-Type: image/'.$extension);
			}

			@ob_end_clean();

			header("Cache-Control: public, must-revalidate");
			header('Cache-Control: pre-check=0, post-check=0,
max-age=0');
			header("Cache-Control: no-cache");
			header("Pragma: no-cache");
			header("Expires: 0");
			header("Content-Description: File Transfer");
			header("Expires: Sat, 01 Jan 2000 01:00:00 GMT");
			header("Content-Length: " . (string) filesize($path));
			header('Content-Disposition: inline; filename="' .
$file->filename . '"');
			header("Content-Transfer-Encoding: binary\n");

			readfile($path);

			$app->close();
		}
		catch (Exception $e)
		{
			$app->enqueueMessage($e->getMessage(), 'warning');
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets',
false));
		}
	}

	public function display($cachable = false, $urlparams = array())
	{
		$app = JFactory::getApplication();

		if ($app->isClient('site'))
		{
			$vName	= $app->input->getCmd('view', '');
			$allowed = JFolder::folders(__DIR__ . '/views');

			if (!in_array($vName, $allowed))
			{
				$app->input->set('view', 'tickets');
			}
		}

		parent::display($cachable, $urlparams);
	}
}controllers/index.html000064400000000054151165235030011107
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>controllers/note.php000064400000000615151165235030010573
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerNote',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/note.php');controllers/notes.php000064400000000617151165235030010760
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerNotes',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/notes.php');controllers/predefinedsearch.php000064400000000645151165235030013124
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerPredefinedsearch',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/predefinedsearch.php');controllers/predefinedsearches.php000064400000000651151165235030013451
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerPredefinedsearches',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/predefinedsearches.php');controllers/removedata.php000064400000012371151165235040011760
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2018 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerRemovedata extends JControllerLegacy
{
    public function request()
    {
        JSession::checkToken() or jexit('Invalid Token');

        try
        {
            $user = JFactory::getUser();
            if ($user->guest)
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_MUST_BE_LOGGED_IN'));
            }

            if
(!RSTicketsProHelper::getConfig('allow_self_anonymisation'))
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_THIS_FEATURE_MUST_BE_ENABLED'));
            }

            if ($user->authorise('core.admin'))
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_THIS_FEATURE_IS_NOT_AVAILABLE_FOR_SUPER_USERS'));
            }

            // Get JConfig
            $config = JFactory::getConfig();

            // Create a token
            $token =
JApplicationHelper::getHash(JUserHelper::genRandomPassword(10));
            $hashedToken = JUserHelper::hashPassword($token);

            // Save the token
            $db = JFactory::getDbo();
            $query = $db->getQuery(true)
                ->select('*')
                ->from($db->qn('#__rsticketspro_tokens'))
                ->where($db->qn('user_id') . ' =
' . $db->q($user->id));
            if ($db->setQuery($query)->loadObject())
            {
                $query->clear()
                   
->update($db->qn('#__rsticketspro_tokens'))
                    ->set($db->qn('token') . ' =
' . $db->q($hashedToken))
                    ->where($db->qn('user_id') . ' =
' . $db->q($user->id));
            }
            else
            {
                $query->clear()
                   
->insert($db->qn('#__rsticketspro_tokens'))
                    ->columns(array($db->qn('user_id'),
$db->qn('token')))
                    ->values(implode(', ',
array($db->q($user->id), $db->q($hashedToken))));
            }

            $db->setQuery($query)->execute();

            // Create the URL
            $uri 	= JUri::getInstance();
            $base	= $uri->toString(array('scheme',
'user', 'pass', 'host', 'port'));
            $url    = $base .
JRoute::_('index.php?option=com_rsticketspro&task=removedata.process&token='
. $token, false);

           
JFactory::getMailer()->sendMail($config->get('mailfrom'),
$config->get('fromname'), $user->email,
JText::sprintf('COM_RSTICKETSPRO_REMOVE_REQUEST_EMAIL_SUBJECT',
$user->username, $config->get('sitename')),
JText::sprintf('COM_RSTICKETSPRO_REMOVE_REQUEST_EMAIL_BODY',
$user->name, $url), true);
        }
        catch (Exception $e)
        {
            jexit($e->getMessage());
        }

        jexit(JText::_('COM_RSTICKETSPRO_LINK_HAS_BEEN_SENT'));
    }

    public function process()
    {
        $app    = JFactory::getApplication();
        $user   = JFactory::getUser();

        try
        {
            if ($user->guest)
            {
                $link = base64_encode((string) JUri::getInstance());
               
$app->redirect(JRoute::_('index.php?option=com_users&view=login&return='
. $link, false),
JText::_('COM_RSTICKETSPRO_MUST_BE_LOGGED_IN'));
            }

            if
(!RSTicketsProHelper::getConfig('allow_self_anonymisation'))
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_THIS_FEATURE_MUST_BE_ENABLED'));
            }

            if ($user->authorise('core.admin'))
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_THIS_FEATURE_IS_NOT_AVAILABLE_FOR_SUPER_USERS'));
            }

            $token = $app->input->getCmd('token');
            if (!$token || strlen($token) != 32)
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_TOKEN_IS_INCORRECT'));
            }

            // Let's see if the token matches
            $db = JFactory::getDbo();
            $query = $db->getQuery(true)
                ->select($db->qn('token'))
                ->from($db->qn('#__rsticketspro_tokens'))
                ->where($db->qn('user_id') . ' =
' . $db->q($user->id));
            $dbToken = $db->setQuery($query)->loadResult();

            if (!$dbToken || !JUserHelper::verifyPassword($token,
$dbToken))
            {
                throw new
Exception(JText::_('COM_RSTICKETSPRO_TOKEN_IS_INCORRECT'));
            }

            // Delete the token
            $query->clear()
               
->delete($db->qn('#__rsticketspro_tokens'))
                ->where($db->qn('user_id') . ' =
' . $db->q($user->id));
            $db->setQuery($query)->execute();

            // Anonymise data
            RSTicketsProHelper::anonymise($user->id);

            $app->logout();
           
$app->redirect(JRoute::_('index.php?option=com_rsticketspro&view=removedata&layout=success',
false));
        }
        catch (Exception $e)
        {
            $app->enqueueMessage($e->getMessage(),
'error');
            $this->setRedirect(JRoute::_('index.php',
false));
        }
    }
}controllers/signature.php000064400000000627151165235040011633
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerSignature',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/signature.php');controllers/submit.php000064400000000621151165235040011127
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerSubmit',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/submit.php');controllers/ticket.php000064400000000621151165235040011107
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerTicket',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/ticket.php');controllers/ticketmessage.php000064400000000637151165235040012463
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerTicketmessage',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/ticketmessage.php');controllers/ticketmessages.php000064400000000641151165235040012641
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerTicketmessages',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/ticketmessages.php');controllers/tickets.php000064400000000623151165235040011274
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproControllerTickets',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/controllers/tickets.php');models/article.php000064400000000611151165235040010163
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelArticle', JPATH_ADMINISTRATOR
.
'/components/com_rsticketspro/models/article.php');models/dashboard.php000064400000006055151165235050010500
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelDashboard extends JModelLegacy
{
	public function getCategories()
	{
		$query	= $this->_db->getQuery(true);
		
		$query->select('*')
			->from($this->_db->qn('#__rsticketspro_kb_categories'))
			->where($this->_db->qn('parent_id').' =
'.$this->_db->q(0))
			->where($this->_db->qn('published').' =
'.$this->_db->q(1))
			->order($this->_db->qn('ordering').'
ASC');
		
		if (!RSTicketsProHelper::isStaff())
		{
			$query->where($this->_db->qn('private').' =
'.$this->_db->q(0));
		}
		
		$this->_db->setQuery($query);
		return $this->_db->loadObjectList();
	}
	
	public function getTickets()
	{
		$query		= $this->_db->getQuery(true);
		$user_id	= (int) JFactory::getUser()->get('id');
		$limit		= (int)
JFactory::getApplication()->getParams('com_rsticketspro')->get('tickets_limit',
3);
		
		$query->select($this->_db->qn('t.id'))
			->select($this->_db->qn('t.subject'))
			->select($this->_db->qn('t.last_reply_customer'))
			->select($this->_db->qn('s.name','status_name'))
			->from($this->_db->qn('#__rsticketspro_tickets','t'))
			->join('LEFT',$this->_db->qn('#__rsticketspro_statuses','s').'
ON '.$this->_db->qn('t.status_id').' =
'.$this->_db->qn('s.id'))
			->order($this->_db->qn('t.last_reply').'
DESC');
		
		if (RSTicketsProHelper::isStaff())
		{
			$query->where($this->_db->qn('t.staff_id').' =
'.$this->_db->q($user_id));
		}
		else
		{
			$query->where($this->_db->qn('t.customer_id').'
= '.$this->_db->q($user_id));
		}
		
		$this->_db->setQuery($query,0,$limit);
		$tickets = $this->_db->loadObjectList();
		
		if ($tickets && $ticket_ids =
$this->_implodeTickets($tickets))
		{
			$query->clear()
				->select($this->_db->qn('ticket_id'))
				->select($this->_db->qn('message'))
				->from($this->_db->qn('#__rsticketspro_ticket_messages'))
				->where($this->_db->qn('user_id').' <>
'.$this->_db->q($user_id))
				->where($this->_db->qn('user_id').' <>
'.$this->_db->q('-1'))
				->where($this->_db->qn('ticket_id').' IN
('.$ticket_ids.')')
				->order($this->_db->qn('date').' DESC');
			
			$this->_db->setQuery($query);
			$messages = $this->_db->loadObjectList();
			
			foreach ($tickets as $i => $ticket)
			{
				foreach ($messages as $message)
				{
					if ($ticket->id == $message->ticket_id)
					{
						$tickets[$i]->message = $message->message;
						break 2;
					}
				}
			}
		}
		
		return $tickets;
	}
	
	protected function _implodeTickets($results)
	{
		$isStaff = RSTicketsProHelper::isStaff();

		$tmp = array();
		foreach ($results as $result)
		{
			if (!$isStaff && $result->last_reply_customer)
			{
				continue;
			}

			if (isset($result->id))
			{
				$tmp[] = $result->id;
			}
		}
		
		if (count($tmp))
		{
			return implode(',', $tmp);
		}
		
		return false;
	}
}models/history.php000064400000000611151165235050010242 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelHistory', JPATH_ADMINISTRATOR
.
'/components/com_rsticketspro/models/history.php');models/index.html000064400000000054151165235050010026
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>models/kbresults.php000064400000005237151165235050010570
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbresults extends JModelLegacy
{
	public function getItems()
	{
		$this->is_staff = RSTicketsProHelper::isStaff();

		if (!$value =
JFactory::getApplication()->input->getString('filter_search',''))
		{
			return array();
		}
		
		$query		= $this->_db->getQuery(true);
		$results	= array();
		$escvalue	= $this->_db->escape($value);
		$escvalue	= str_replace('%','\%', $escvalue);
		$escvalue	= str_replace(' ','%', $escvalue);
		
		$query->select($this->_db->qn('id'))
			->from($this->_db->qn('#__rsticketspro_kb_categories'))
			->where($this->_db->qn('published').' =
'.$this->_db->q(1));
		
		if (!$this->is_staff)
		{
			$query->where($this->_db->qn('private').' =
'.$this->_db->q(0));
		}
		
		$this->_db->setQuery($query);
		$cat_ids = $this->_db->loadColumn();
		$cat_ids[] = 0;

		$cat_ids = array_map('intval', $cat_ids);
		
		$query->clear()
			->select($this->_db->qn('c').'.*')
			->from($this->_db->qn('#__rsticketspro_kb_content','c'))
			->join('LEFT',$this->_db->qn('#__rsticketspro_kb_categories','cat').'
ON '.$this->_db->qn('c.category_id').' =
'.$this->_db->qn('cat.id'))
			->where('('.$this->_db->qn('c.name').'
LIKE '.$this->_db->q('%'.$escvalue.'%',
false).' OR '.$this->_db->qn('c.text').'
LIKE '.$this->_db->q('%'.$escvalue.'%',
false).')')
			->where($this->_db->qn('c.published').' =
'.$this->_db->q(1))
			->order($this->_db->qn('cat.ordering'))
			->order($this->_db->qn('c.ordering'));
			
		if (!$this->is_staff)
		{
			$query->where($this->_db->qn('c.private').' =
'.$this->_db->q(0));
		}
		
		if ($cat_ids)
		{
			$query->where($this->_db->qn('c.category_id').'
IN ('.implode(',',$cat_ids).')');
		}
		
		$this->_db->setQuery($query);
		if ($results = $this->_db->loadObjectList())
		{
			$category = JTable::getInstance('Kbcategories',
'RsticketsproTable');
			
			foreach ($results as $i => $result)
			{
				$parent_id = $result->category_id;
				$category->load($parent_id);
				
				while ($parent_id > 0)
				{
					$parent_id = $category->parent_id;
					$category->load($parent_id);
					
					if ($category->private)
					{
						$result->private = 1;
					}

					if (!$category->published)
					{
						$result->published = 0;
					}
				}
				
				if ((!$this->is_staff && $result->private) ||
!$result->published)
				{
					unset($results[$i]);
				}
			}
		}
		
		return $results;
	}
}models/knowledgebase.php000064400000021716151165235050011364
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKnowledgebase extends JModelLegacy
{
	protected $_total = 0;
	protected $_pagination = null;
	protected $_db = null;
	protected $is_staff;
	
	public function __construct()
	{
		parent::__construct();
		$mainframe = JFactory::getApplication();
		$this->_db = JFactory::getDbo();
		
		$this->params   =
$mainframe->getParams('com_rsticketspro');
		$this->is_staff = RSTicketsProHelper::isStaff();
		
		// Get pagination request variables
		$limit		=
$mainframe->getUserStateFromRequest('com_rsticketspro.categories.limit',
'limit', $mainframe->get('list_limit'));
		$limitstart	= $mainframe->input->get('limitstart', 0,
'', 'int');

		// In case limit has been changed, adjust it
		$limitstart = ($limit != 0 ? (floor($limitstart / $limit) * $limit) :
0);

		$this->setState('com_rsticketspro.categories.limit',
$limit);
		$this->setState('com_rsticketspro.categories.limitstart',
$limitstart);
		
		$this->category_id = $mainframe->input->getInt('cid',
0);
	}
	
	public function getCategories()
	{
		$category_id	= $this->category_id;
		$query			= $this->_db->getQuery(true);
		
		$query->select('*')
			->from($this->_db->qn('#__rsticketspro_kb_categories'))
			->where($this->_db->qn('published') . ' = '
. $this->_db->q('1'))
			->where($this->_db->qn('parent_id') . ' = '
. $this->_db->q($category_id))
			->order($this->_db->qn('ordering') . ' ' .
$this->_db->escape('asc'));
		
		if (!$this->is_staff)
		{
			$query->where($this->_db->qn('private').' =
'.$this->_db->q('0'));
		}

		return $this->_db->setQuery($query)->loadObjectList();
	}
	
	public function getCategory()
	{
		$category_id	= $this->category_id;
		$row			= JTable::getInstance('Kbcategories',
'RsticketsproTable');
		$category		= JTable::getInstance('Kbcategories',
'RsticketsproTable');

		$row->load($category_id);
		
		if ($row->parent_id)
		{
			$parent_id = $row->parent_id;
			$category->load($parent_id);
			
			while ($parent_id > 0)
			{
				$parent_id = $category->parent_id;
				$category->load($parent_id);
				
				if ($category->private)
				{
					$row->private = 1;
				}

				if (!$category->published)
				{
					$row->published = 0;
				}
			}
		}
		
		if ((!$this->is_staff && $row->private) ||
!$row->published)
		{
			$mainframe = JFactory::getApplication();
			$mainframe->enqueueMessage(JText::_('RST_CANNOT_VIEW_CATEGORY'),
'warning');
			$mainframe->redirect('index.php?option=com_rsticketspro&view=knowledgebase');
		}
		
		return $row;
	}
	
	public function getContent()
	{
		$category_id	= $this->category_id;
		$query			= $this->_db->getQuery(true);
		
		$query->select('*')
			->from($this->_db->qn('#__rsticketspro_kb_content'))
			->where($this->_db->qn('published').' =
'.$this->_db->q('1'))
			->where($this->_db->qn('category_id').' =
'.$this->_db->q($category_id));
		
		if (!$this->is_staff)
		{
			$query->where($this->_db->qn('private').' =
'.$this->_db->q('0'));
		}
		
		$filter_word = $this->getFilterWord();
		if (!empty($filter_word))
		{
			$filter_word = $this->_db->escape($filter_word);
			$filter_word = str_replace('%', '\%',
$filter_word);
			$filter_word = str_replace(' ', '%', $filter_word);

			$query->where('('.$this->_db->qn('name').'
LIKE
'.$this->_db->q('%'.$filter_word.'%').'
OR '.$this->_db->qn('text').' LIKE
'.$this->_db->q('%'.$filter_word.'%').')');
		}
		
		$this->_db->setQuery($query);
		$this->_db->execute();
		$this->_total = $this->_db->getNumRows();
		
		$sortColumn = $this->getSortColumn();
		$sortColumn = $this->_db->qn($sortColumn);
		
		$sortOrder = $this->getSortOrder();
		$sortOrder = $this->_db->escape($sortOrder);
		
		$query->order($sortColumn . ' ' . $sortOrder);
		$this->_db->setQuery($query,
$this->getState('com_rsticketspro.categories.limitstart'),
$this->getState('com_rsticketspro.categories.limit'));
		return $this->_db->loadObjectList();
	}
	
	public function getResults()
	{
		$value	= $this->getResultsWord();
		
		if (!$value)
		{
			return array();
		}
		
		$escvalue = $this->_db->escape($value);
		$escvalue = str_replace('%','\%',$escvalue);
		$escvalue = str_replace(' ','%',$escvalue);
		$is_staff = RSTicketsProHelper::isStaff();
		$query	  = $this->_db->getQuery(true);
		
		$query->select($this->_db->qn('id'))
			->from($this->_db->qn('#__rsticketspro_kb_categories'))
			->where($this->_db->qn('published').' =
'.$this->_db->q('1'));
		
		if (!$is_staff)
		{
			$query->where($this->_db->qn('private').' =
'.$this->_db->q('0'));
		}
		
		$this->_db->setQuery($query);
		$cat_ids = $this->_db->loadColumn();
		$cat_ids[] = 0;

		$cat_ids = array_map('intval', $cat_ids);
		
		$query->clear()
			->select($this->_db->qn('c').'.*')
			->select($this->_db->qn('cat.name','category_name'))
			->from($this->_db->qn('#__rsticketspro_kb_content','c'))
			->join('LEFT',$this->_db->qn('#__rsticketspro_kb_categories','cat').'
ON '.$this->_db->qn('c.category_id').' =
'.$this->_db->qn('cat.id'))
			->where('('.$this->_db->qn('c.name').'
LIKE
'.$this->_db->q('%'.$escvalue.'%').' OR
'.$this->_db->qn('c.text').' LIKE
'.$this->_db->q('%'.$escvalue.'%').')')
			->where($this->_db->qn('c.published').' =
'.$this->_db->q('1'))
			->order($this->_db->qn('cat.ordering').',
'.$this->_db->qn('c.ordering'));
			
		if (!$is_staff)
		{
			$query->where($this->_db->qn('c.private').' =
'.$this->_db->q('0'));
		}

		if ($cat_ids)
		{
			$query->where($this->_db->qn('c.category_id').'
IN ('.implode(',',$cat_ids).')');
		}
		
		$this->_db->setQuery($query,
$this->getState('com_rsticketspro.categories.limitstart'),
$this->getState('com_rsticketspro.categories.limit'));
		$results = $this->_db->loadObjectList();
		
		$this->_total = 0;
		
		if ($results)
		{
			$category = JTable::getInstance('Kbcategories',
'RsticketsproTable');
			
			foreach ($results as $i => $result)
			{
				$parent_id = $result->category_id;
				$category->load($parent_id);
				
				while ($parent_id > 0)
				{
					$parent_id = $category->parent_id;
					$category->load($parent_id);
					
					if ($category->private)
					{
						$result->private = 1;
					}

					if (!$category->published)
					{
						$result->published = 0;
					}
				}
				
				if ((!$this->is_staff && $result->private) ||
!$result->published)
				{
					unset($results[$i]);
				}
			}
		}
		
		$this->_total = count($results);
		return $results;
	}
	
	public function getFilterWord()
	{
		return
JFactory::getApplication()->getUserStateFromRequest('com_rsticketspro.kbcontent.filter',
'search', '');
	}
	
	public function getSortColumn()
	{
		$allowed 	= array('ordering', 'hits',
'created', 'modified', 'name');
		$order 		=
JFactory::getApplication()->getUserStateFromRequest('com_rsticketspro.kbcontent.filter_order',
'filter_order', $this->params->get('order_by',
'ordering'));
		
		if (!in_array($order, $allowed))
		{
			$order = 'ordering';
		}
		
		return $order;
	}
	
	public function getSortOrder()
	{
		$allowed = array('ASC', 'DESC');
		$dir 	 =
JFactory::getApplication()->getUserStateFromRequest('com_rsticketspro.kbcontent.filter_order_Dir',
'filter_order_Dir',
$this->params->get('order_dir', 'ASC'));
		
		if (!in_array(strtoupper($dir), $allowed))
		{
			$dir = 'ASC';
		}
		
		return $dir;
	}
	
	public function getContentTotal()
	{
		return $this->_total;
	}
	
	public function getContentPagination()
	{
		if (empty($this->_pagination))
		{
			$this->_pagination = new JPagination($this->getContentTotal(),
$this->getState('com_rsticketspro.categories.limitstart'),
$this->getState('com_rsticketspro.categories.limit'));
		}

		return $this->_pagination;
	}
	
	public function getResultsWord()
	{
		return
JFactory::getApplication()->getUserStateFromRequest('com_rsticketspro.kbresults.search',
'search', '');
	}
	
	public function getResultsTotal()
	{
		return $this->_total;
	}
	
	public function getResultsPagination()
	{
		if (empty($this->_pagination))
		{
			$this->_pagination = new JPagination($this->getResultsTotal(),
$this->getState('com_rsticketspro.categories.limitstart'),
$this->getState('com_rsticketspro.categories.limit'));
		}
		return $this->_pagination;
	}
	
	public function getPath()
	{
		$return		= array();
		$parent_id	= $this->category_id;
		$row		= JTable::getInstance('Kbcategories',
'RsticketsproTable');
		
		while ($parent_id > 0)
		{
			$row->load($parent_id);
			$parent_id = $row->parent_id;
			
			$obj = new stdClass();
			$obj->name = $row->name;
			$obj->link =
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=knowledgebase&cid='.$row->id.':'.JFilterOutput::stringURLSafe($row->name));
			
			$return[] = $obj;
		}
		
		krsort($return);
		return $return;
	}
}models/note.php000064400000000603151165235050007507 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelNote', JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/note.php');models/notes.php000064400000000605151165235050007674
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelNotes', JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/notes.php');models/predefinedsearch.php000064400000000633151165235050012040
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelPredefinedsearch',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/predefinedsearch.php');models/predefinedsearches.php000064400000000637151165235060012375
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelPredefinedsearches',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/predefinedsearches.php');models/rsticketspro.php000064400000051106151165235060011303
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelRsticketspro extends JModelList
{	
	protected $params = null;
	protected $_permissions = array();
	
	public function __construct($config = array()) {
		if (empty($config['filter_fields'])) {
			$config['filter_fields'] = array(
				'date', 'last_reply', 'flagged',
'code', 'subject', 'customer',
'priority', 'status', 'staff'
			);
			
			if (RSTicketsProHelper::getConfig('enable_time_spent')) {
				$config['filter_fields'][] = 'time_spent';
			}
		}
		
		parent::__construct($config);
		
		$app = JFactory::getApplication();
		$this->params = $app->isClient('site') ?
$app->getParams('com_rsticketspro') : new JRegistry();
		$this->setPermissions();
	}
	
	protected function setPermissions() {
		$this->is_staff 	= RSTicketsProHelper::isStaff();
		$this->_permissions = RSTicketsProHelper::getCurrentPermissions();
	}
	
	public function getIsSearching() {
		// get filtering states
		$search  	 	= $this->getState('filter.search');
		$flagged 	 	= $this->getState('filter.flagged', 0);
		$priority_id 	= $this->getState('filter.priority_id',
array());
		$status_id 	 	= $this->getState('filter.status_id',
array());
		$department_id 	= $this->getState('filter.department_id',
array());
		$customer 	 	= $this->getState('filter.customer',
'');
		$staff 	 	 	= $this->getState('filter.staff',
'');
		
		return $search != '' || $flagged || $priority_id || $status_id
|| $department_id || $customer != '' || $staff != '';
	}
	
	protected function setSearch($values=array()) {
		$app = JFactory::getApplication();
		
		if (isset($values['search'])) {
			$app->setUserState($this->context.'.filter.search',
$values['search']);
		}
		if (isset($values['flagged'])) {
			$app->setUserState($this->context.'.filter.flagged',
$values['flagged']);
		}
		if (isset($values['priority_id'])) {
			$app->setUserState($this->context.'.filter.priority_id',
$values['priority_id']);
		}
		if (isset($values['status_id'])) {
			$app->setUserState($this->context.'.filter.status_id',
$values['status_id']);
		}
		if (isset($values['department_id'])) {
			$app->setUserState($this->context.'.filter.department_id',
$values['department_id']);
		}
		if (isset($values['customer'])) {
			$app->setUserState($this->context.'.filter.customer',
$values['customer']);
		}
		if (isset($values['staff'])) {
			$app->setUserState($this->context.'.filter.staff',
$values['staff']);
		}
		if (!empty($values['ordering'])) {
			$app->setUserState($this->context.'.ordercol',
$values['ordering']);
		}
		if (!empty($values['direction'])) {
			$app->setUserState($this->context.'.orderdirn',
$values['direction']);
		}
		// performing a predefined search?
		if (isset($values['predefined_search'])) {
			$app->setUserState($this->context.'.filter.predefined_search',
$values['predefined_search']);
		}
	}
	
	public function getPredefinedSearch() {
		$app = JFactory::getApplication();
		return
$app->getUserState($this->context.'.filter.predefined_search',
0);
	}
	
	public function resetSearch() {
		$values = array(
			'search' => '',
			'flagged' => 0,
			'priority_id' => array(),
			'status_id' => array(),
			'department_id' => array(),
			'customer' => '',
			'staff' => '',
			'predefined_search' => 0,
			'ordering' => 'date',
			'direction' => 'desc'
		);
		JFactory::getApplication()->setUserState($this->context.'.limitstart',
0);
		$this->setSearch($values);
	}
	
	public function performSearch($table) {
		$values = array(
			'search' => '',
			'flagged' => 0,
			'priority_id' => array(),
			'status_id' => array(),
			'department_id' => array(),
			'customer' => '',
			'staff' => '',
			'predefined_search' => $table->id,
			'ordering' => 'date',
			'direction' => 'desc'
		);
		
		if (is_array($table->params)) {
			$values = array_merge($values, $table->params);
			// legacy
			if (isset($values['filter_word'])) {
				$values['search'] = $values['filter_word'];
			}
		}
		$this->setSearch($values);
	}
	
	public function getSearches() {
		$db 	= $this->getDbo();
		$query	= $db->getQuery(true);
		$user 	= JFactory::getUser();
		
		$query->select('*')
			  ->from($db->qn('#__rsticketspro_searches'))
			 
->where($db->qn('user_id').'='.$db->q($user->get('id')))
			 
->where($db->qn('published').'='.$db->q(1))
			  ->order($db->qn('ordering').'
'.$db->escape('asc'));
		$db->setQuery($query);
		$list = $db->loadObjectList();
		
		$current = $this->getPredefinedSearch();
		foreach ($list as $k => $item) {
			$item->current = $current == $item->id;
			$list[$k] = $item;
		}
		
		return $list;
	}
	
	public function getPermissions() {
		$mainframe = JFactory::getApplication();
		if ($mainframe->isClient('administrator') &&
empty($this->_permissions))
		{
			$mainframe->enqueueMessage(JText::_('RST_PERMISSIONS_ERROR'),
'warning');
			$mainframe->redirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro',
false));
		}
		
		return @$this->_permissions;
	}

	public function writeCSV($from, $fileHash = '')
	{
		if (empty($this->_permissions->export_tickets))
		{
			throw new
Exception(JText::_('RST_STAFF_CANNOT_EXPORT_TICKETS'));
		}

		require_once
JPATH_COMPONENT_ADMINISTRATOR.'/helpers/export.php';

		// setting the function arguments
		$query  		= $this->getListQuery();
		$totalItems  	= (int) $this->getTotalItems();

		$filename 		= JText::_('COM_RSTICKETSPRO_TICKETS');

		return RsticketsExport::writeCSV($query, $totalItems, $from, $fileHash,
$filename);
	}
	
	protected function getListQuery() {
		$db 	= JFactory::getDbo();
		$app	= JFactory::getApplication();
		$query 	= $db->getQuery(true);
		$user   = JFactory::getUser();
		
		// get filtering states
		$search  	 	= $this->getState('filter.search');
		$flagged 	 	= $this->getState('filter.flagged', 0);
		$priority_id 	= $this->getState('filter.priority_id',
array());
		$status_id 	 	= $this->getState('filter.status_id',
array());
		$department_id 	= $this->getState('filter.department_id',
array());
		$customer 	 	= $this->getState('filter.customer',
'');
		$staff 	 	 	= $this->getState('filter.staff',
'');
		
		switch (RSTicketsProHelper::getConfig('show_user_info')) {
			case 'username':
				$query->select($db->qn('c.username',
'customer'))
					  ->select($db->qn('s.username', 'staff'));
			break;
			
			case 'name':
				$query->select($db->qn('c.name',
'customer'))
					  ->select($db->qn('s.name', 'staff'));
			break;
			
			case 'email':
				$query->select($db->qn('c.email',
'customer'))
					  ->select($db->qn('s.email', 'staff'));
			break;
		}
		
		$query->select($db->qn('t').'.*')
			  ->select($db->qn('st.name', 'status'))
			  ->select($db->qn('pr.name', 'priority'))
			  ->from($db->qn('#__rsticketspro_tickets',
't'))
			  ->join('left', $db->qn('#__users',
'c').' ON
('.$db->qn('t.customer_id').'='.$db->qn('c.id').')')
			  ->join('left', $db->qn('#__users',
's').' ON
('.$db->qn('t.staff_id').'='.$db->qn('s.id').')')
			  ->join('left',
$db->qn('#__rsticketspro_statuses', 'st').' ON
('.$db->qn('t.status_id').'='.$db->qn('st.id').')')
			  ->join('left',
$db->qn('#__rsticketspro_priorities', 'pr').'
ON
('.$db->qn('t.priority_id').'='.$db->qn('pr.id').')');
		
		if ($this->is_staff) {
			$departments = RSTicketsProHelper::getCurrentDepartments();
			$show_filter =
$this->params->get('show_filter','');
			
			if (!empty($departments)) {
				if ($show_filter != 'show_assigned' && $show_filter
!= 'show_unassigned') {
					$query->where('('.$db->qn('department_id').'
IN ('.$this->quoteImplode($departments).') OR
'.$db->qn('customer_id').'='.$db->q($user->get('id')).')');
				} else {
					$query->where($db->qn('department_id').' IN
('.$this->quoteImplode($departments).')');
				}
			}
			
			// do we have a filter set ?
			if ($app->isClient('site')) {
				if ($show_filter) {
					switch ($show_filter)
					{
						case 'show_assigned':
							$query->where($db->qn('staff_id').'='.$db->q($user->get('id')));
						break;
						
						case 'show_submitted':
							$query->where($db->qn('customer_id').'='.$db->q($user->get('id')));
						break;
						
						case 'show_both':
							$query->where('('.$db->qn('staff_id').'='.$db->q($user->get('id')).'
OR
'.$db->qn('customer_id').'='.$db->q($user->get('id')).')');
						break;
						
						case 'show_unassigned':
							$query->where($db->qn('staff_id').'='.$db->q(0));
						break;
					}
				}
			}
			
			// can't see unassigned tickets
			if (!$this->_permissions->see_unassigned_tickets) {
				$query->where($db->qn('staff_id').'>'.$db->q(0));
			}
			// can't see other (assigned) tickets
			if (!$this->_permissions->see_other_tickets) {
				$staffIds = array(
					$db->q(0),
					$db->q($user->get('id'))
				);
				
				$query->where($db->qn('staff_id').' IN
('.implode(', ', $staffIds).')');
			}
			
			// searching for flagged?
			if ($flagged) {
				$query->where($db->qn('flagged').'='.$db->q(1));
			}
		} else {
			$query->where($db->qn('customer_id').'='.$db->q($user->get('id')));
		}
		
		if ($app->isClient('site')) {
			// showing a specific priority?
			if ($this->params->get('default_priority') &&
empty($priority_id)) {
				$default_priority =
$this->params->get('default_priority');
				
				if (is_array($default_priority)) {
					$query->where($db->qn('priority_id').' IN
('.$this->quoteImplode($default_priority).')');
				}
			}
			// showing a specific status?
			if ($this->params->get('default_status') &&
empty($status_id)) {
				$default_status =
$this->params->get('default_status');
				if (is_array($default_status)) {
					$query->where($db->qn('status_id').' IN
('.$this->quoteImplode($default_status).')');
				}
			}
		}
		
		// priority search
		if (!empty($priority_id)) {
			$query->where($db->qn('priority_id').' IN
('.$this->quoteImplode($priority_id).')');
		}
		
		// status search
		if (!empty($status_id)) {
			$query->where($db->qn('status_id').' IN
('.$this->quoteImplode($status_id).')');
		}
		
		// are we searching?
		if ($search != '') {
			$search = $db->quote('%'.str_replace(' ',
'%', $db->escape($search, true)).'%', false);
			
			$subquery = $db->getQuery(true);
			$subquery->select($db->qn('ticket_id'))
					 ->from($db->qn('#__rsticketspro_ticket_messages'))
					
->where($db->qn('user_id').'!='.$db->q('-1'))
					 ->where($db->qn('message').' LIKE
'.$search);
			
			$query->where('('.$db->qn('code').' LIKE
'.$search.' OR '.$db->qn('subject').' LIKE
'.$search.' OR '.$db->qn('t.id').' IN
('.(string) $subquery.'))');
		}
		
		// specific customer?
		if ($customer) {
			// let's see if it's ID:number
			if (substr($customer, 0, strlen('ID:')) == 'ID:') {
				$parts = explode(':', $customer, 2);
				$id = (int) $parts[1];
				
				$query->where($db->qn('customer_id').'='.$db->q($id));
			} else {
				$customer = $db->quote('%'.str_replace(' ',
'%', $db->escape($customer, true)).'%', false);
				
				$query->where('('.$db->qn('c.username').'
LIKE '.$customer.' OR
'.$db->qn('c.name').' LIKE '.$customer.'
OR '.$db->qn('c.email').' LIKE
'.$customer.')');
			}
		}
		
		// specific staff member?
		if ($staff || $staff === '0') {
			// legacy
			if ($staff === '0') {
				$staff = 'ID:0';
			}
			// let's see if it's ID:number
			if (substr($staff, 0, strlen('ID:')) == 'ID:') {
				$parts = explode(':', $staff, 2);
				$id = (int) $parts[1];
				
				$query->where($db->qn('staff_id').'='.$db->q($id));
			} else {
				$staff = $db->quote('%'.str_replace(' ',
'%', $db->escape($staff, true)).'%', false);
				
				$query->where('('.$db->qn('s.username').'
LIKE '.$staff.' OR '.$db->qn('s.name').'
LIKE '.$staff.' OR '.$db->qn('s.email').'
LIKE '.$staff.')');
			}
		}
		
		if ($department_id) {
			$query->where($db->qn('department_id').' IN
('.$this->quoteImplode($department_id).')');
		}
		
		$ordering = $this->getState('list.ordering',
'date');
		$dir	  = $this->getState('list.direction',
'desc');
		
		// order by
		switch ($ordering)
		{
			case 'priority':
				$values = array();
				$priorities = $this->getPriorities($dir);
				foreach ($priorities as $priority)
				{
					$values[] = $priority->name;
				}
				$query->order('FIELD(' . $db->qn($ordering) . ',
' . $this->quoteImplode($values) . ')');
			break;
			
			case 'status':
				$values = array();
				$statuses = $this->getStatuses($dir);
				foreach ($statuses as $status)
				{
					$values[] = $status->name;
				}
				$query->order('FIELD(' . $db->qn($ordering) . ',
' . $this->quoteImplode($values) . ')');
			break;
			
			default:
				$query->order($db->qn($ordering).'
'.$db->escape($dir));
			break;
		}
		
		return $query;
	}
	
	protected function quoteImplode($array) {
		$db = JFactory::getDbo();
		foreach ($array as $k => $v) {
			$array[$k] = $db->quote($v);
		}
		
		return implode(',', $array);
	}
	
	public function getUserStateFromRequest($key, $request, $default = null,
$type = 'none', $resetPage = true)
	{
		$app       = JFactory::getApplication();
		$input     = $app->input;
		$old_state = $app->getUserState($key);
		$cur_state = (!is_null($old_state)) ? $old_state : $default;
		$new_state = $input->get($request, null, $type);

		if (($cur_state != $new_state) && !is_null($new_state) &&
($resetPage))
		{
			$input->set('limitstart', 0);
		}

		// Save the new value only if it is set in this request.
		if ($new_state !== null)
		{
			$app->setUserState($key, $new_state);
		}
		else
		{
			$new_state = $cur_state;
		}

		return $new_state;
	}
	
	protected function populateState($ordering = null, $direction = null) {
		$app 	= JFactory::getApplication();
		$input 	= $app->input;		
		
		// Status ID
		// Do we have a quick filter set?
		$quick_status_id = $input->get('quick_status_id', null,
'none');
		if (!empty($quick_status_id)) {
			$input->set('status_id', (array) $quick_status_id);
		}
		// Get the request
		$status_id = $input->get('status_id', null,
'array');
		// Fix the array
		if (is_array($status_id)) {
			foreach ($status_id as $k => $v) {
				if (!is_numeric($v)) {
					unset($status_id[$k]);
				}
			}
			$input->set('status_id', (array) $status_id);
		}
		$this->setState('filter.status_id',
$this->getUserStateFromRequest($this->context.'.filter.status_id',
'status_id', array(), 'array', false));
		
		// Department ID
		// Do we have a quick filter set?
		$quick_department_id = $input->get('quick_department_id',
null, 'none');
		if (!empty($quick_department_id)) {
			$input->set('department_id', $quick_department_id);
		}
		// Get the request
		$department_id = $input->get('department_id', null,
'array');
		// Fix the array
		if (is_array($department_id)) {
			foreach ($department_id as $k => $v) {
				if (!is_numeric($v)) {
					unset($department_id[$k]);
				}
			}
			$input->set('department_id', (array) $department_id);
		}
		$this->setState('filter.department_id',
$this->getUserStateFromRequest($this->context.'.filter.department_id',
'department_id', array(), 'array', false));
		
		// Priority ID
		// Do we have a quick filter set?
		$quick_priority_id = $input->get('quick_priority_id', null,
'none');
		if (!empty($quick_priority_id)) {
			$input->set('priority_id', $quick_priority_id);
		}
		// Get the request
		$priority_id = $input->get('priority_id', null,
'array');
		// Fix the array
		if (is_array($priority_id)) {
			foreach ($priority_id as $k => $v) {
				if (!is_numeric($v)) {
					unset($priority_id[$k]);
				}
			}
			$input->set('priority_id', (array) $priority_id);
		}
		$this->setState('filter.priority_id',
$this->getUserStateFromRequest($this->context.'.filter.priority_id',	'priority_id',
array(), 'array', false));
		
		// Flagged fix
		$flagged = $input->get('flagged', null, 'none');
		if (!$flagged) {
			$input->set('flagged', 0);
		}
		$this->setState('filter.flagged',
$this->getUserStateFromRequest($this->context.'.filter.flagged',
'flagged', 0, 'none', true));
		
		// Search keyword
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search', '', 'none', true));
		
		// Customer
		$this->setState('filter.customer',
$this->getUserStateFromRequest($this->context.'.filter.customer',
'customer', '', 'none', true));
		
		// Staff
		$this->setState('filter.staff',
$this->getUserStateFromRequest($this->context.'.filter.staff',
'staff', '', 'none', true));

		// List state information.
		$column = $this->params->get('orderby',
'date');
		$dir	= $this->params->get('direction',
'desc');

		parent::populateState($column, $dir);
	}
	
	public function getFilterBar() {
		require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/adapters/filterbar.php';
		
		$options = array();
		$options['search'] = array(
			'label' => JText::_('JSEARCH_FILTER'),
			'value' => $this->getState('filter.search')
		);
		$options['limitBox']  =
$this->getPagination()->getLimitBox();
		$options['listDirn']  =
$this->getState('list.direction', 'desc');
		$options['listOrder'] =
$this->getState('list.ordering', 'date');
		$options['sortFields'] = array(
			JHtml::_('select.option', 'date',
JText::_('RST_TICKET_DATE')),
			JHtml::_('select.option', 'last_reply',
JText::_('RST_TICKET_LAST_REPLY')),
			JHtml::_('select.option', 'flagged',
JText::_('RST_FLAGGED')),
			JHtml::_('select.option', 'code',
JText::_('RST_TICKET_CODE')),
			JHtml::_('select.option', 'subject',
JText::_('RST_TICKET_SUBJECT')),
			JHtml::_('select.option', 'customer',
JText::_('RST_TICKET_CUSTOMER')),
			JHtml::_('select.option', 'priority',
JText::_('RST_TICKET_PRIORITY')),
			JHtml::_('select.option', 'status',
JText::_('RST_TICKET_STATUS')),
			JHtml::_('select.option', 'staff',
JText::_('RST_TICKET_STAFF'))
		);

		if (RSTicketsProHelper::getConfig('enable_time_spent'))
		{
			$options['sortFields'][] = JHtml::_('select.option',
'time_spent', JText::_('RST_TIME_SPENT'));
		}

		$options['leftItems'] = array(
			'<button id="rst_advanced_search"
type="button" class="btn"
onclick="document.location=\''.JRoute::_('index.php?option=com_rsticketspro&view=search&advanced=1').'\'">'.JText::_('RST_OPEN_ADVANCED_SEARCH').'</button>'
		);
		
		$options['rightItems'] = array(
			array(
				'input' => '<select
name="quick_department_id" class="inputbox"
onchange="this.form.submit()">'."\n"
						   .'<option
value="">'.JText::_('RST_SELECT_DEPARTMENT').'</option>'."\n"
						   .JHtml::_('select.options',
RSTicketsProHelper::getDepartments(), 'value', 'text',
null, true)."\n"
						   .'</select>'
			),
			array(
				'input' => '<select
name="quick_priority_id" class="inputbox"
onchange="this.form.submit()">'."\n"
						   .'<option
value="">'.JText::_('RST_SELECT_PRIORITY').'</option>'."\n"
						   .JHtml::_('select.options',
RSTicketsProHelper::getPriorities(), 'value', 'text',
null, true)."\n"
						   .'</select>'
			),
			array(
				'input' => '<select
name="quick_status_id" class="inputbox"
onchange="this.form.submit()">'."\n"
						   .'<option
value="">'.JText::_('RST_SELECT_STATUS').'</option>'."\n"
						   .JHtml::_('select.options',
RSTicketsProHelper::getStatuses(), 'value', 'text',
null, true)."\n"
						   .'</select>'
			)
		);
		
		
		$bar = new RSFilterBar($options);
		
		return $bar;
	}
	
	public function getPriorities($dir = 'asc') {
		$db 	= $this->getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select('*')
			  ->from($db->qn('#__rsticketspro_priorities'))
			 
->where($db->qn('published').'='.$db->q(1))
			  ->order($db->qn('ordering').'
'.$db->escape($dir));
		$db->setQuery($query);
		return $db->loadObjectList();
	}
	
	public function getStatuses($dir = 'asc') {
		$db 	= $this->getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select('*')
			  ->from($db->qn('#__rsticketspro_statuses'))
			 
->where($db->qn('published').'='.$db->q(1))
			  ->order($db->qn('ordering').'
'.$db->escape($dir));
		$db->setQuery($query);
		return $db->loadObjectList();
	}
	
	public function getStart() {
		$app = JFactory::getApplication();
		if ($app->isClient('site')) {
			return $app->input->get('limitstart', 0,
'uint');
		} else {
			return parent::getStart();
		}
	}

	public function getTotalItems() {
		$query  = $this->getListQuery();
		$db     = JFactory::getDbo();

		$query->clear('select')
			->clear('order')
			->select('COUNT('.$db->qn('t.id').')');

		return (int) $db->setQuery($query)->loadResult();
	}
}models/search.php000064400000000607151165235060010014 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelSearch', JPATH_ADMINISTRATOR
.
'/components/com_rsticketspro/models/search.php');models/signature.php000064400000000615151165235060010547
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelSignature',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/signature.php');models/submit.php000064400000000607151165235060010052
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelSubmit', JPATH_ADMINISTRATOR
.
'/components/com_rsticketspro/models/submit.php');models/ticket.php000064400000000607151165235060010032
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelTicket', JPATH_ADMINISTRATOR
.
'/components/com_rsticketspro/models/ticket.php');models/ticketmessage.php000064400000000625151165235060011377
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelTicketmessage',
JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/ticketmessage.php');models/tickets.php000064400000000611151165235060010210
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelTickets', JPATH_ADMINISTRATOR
.
'/components/com_rsticketspro/models/tickets.php');models/users.php000064400000000605151165235060007706
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JLoader::register('RsticketsproModelUsers', JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/users.php');router.php000064400000022451151165235060006605
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined( '_JEXEC' ) or die( 'Restricted access' );

class RsticketsproRouter extends JComponentRouterBase
{
	public function preprocess($query)
	{
		if (!isset($query['Itemid']))
		{
			if ($item = JFactory::getApplication()->getMenu()->getActive())
			{
				$query['Itemid'] = $item->id;
			}
		}

		return $query;
	}

	public function build(&$query)
	{
		JFactory::getLanguage()->load('com_rsticketspro',
JPATH_SITE);

		$segments = array();

		// get a menu item based on Itemid or currently active
		$menu = JFactory::getApplication()->getMenu();
		if (!empty($query['Itemid']) && $item =
$menu->getItem($query['Itemid']))
		{
			if (isset($item->query['view']) &&
isset($query['view']) &&
$item->query['view'] == $query['view'] &&
!isset($query['cid']) &&
!isset($query['layout']))
			{
				unset($query['view']);
				return $segments;
			}
		}

		if (!empty($query['view']))
		{
			switch ($query['view'])
			{
				case 'tickets':
					$segments[] = JText::_('RST_SEF_TICKETS');
					break;

				case 'predefinedsearches':
					$segments[] = JText::_('RST_SEF_SEARCHES');
					break;

				case 'users':
					$segments[] = JText::_('RST_SEF_SELECT_USER_FROM_LIST');
					break;

				case 'submit':
					$segments[] = JText::_('RST_SEF_SUBMIT_TICKET');
					break;

				case 'dashboard':
					$segments[] = JText::_('RST_SEF_DASHBOARD');
					break;

				case 'predefinedsearch':
					if (!empty($query['id']))
					{
						$segments[] = JText::_('RST_SEF_EDIT_PREDEFINED_SEARCH');
						$segments[] = $query['id'];
						unset($query['id']);
					}
					else
					{
						$segments[] = JText::_('RST_SEF_NEW_PREDEFINED_SEARCH');
					}
					break;

				case 'knowledgebase':
					if (!isset($query['layout']))
					{
						$query['layout'] = 'default';
					}

					if ($query['layout'] == 'default')
					{
						$segments[] = JText::_('RST_SEF_KB');
						if (!empty($query['cid']))
						{
							$segments[] = $query['cid'];
							unset($query['cid']);
						}
					}
					else
					{
						$segments[] = JText::_('RST_SEF_KB_RESULTS');
					}
					break;

				case 'article':
					$segments[] = JText::_('RST_SEF_KB_ARTICLE');
					if (isset($query['cid']))
					{
						$segments[] = $query['cid'];
						unset($query['cid']);
					}

					break;

				case 'search':
					if (!empty($query['advanced']))
					{
						$segments[] = JText::_('RST_SEF_ADVANCED_SEARCH');
						unset($query['advanced']);
					}
					else
					{
						$segments[] = JText::_('RST_SEF_SEARCH');
					}
					break;

				case 'ticket':
					if (!empty($query['print']))
					{
						$segments[] = JText::_('RST_SEF_PRINT_TICKET');
						unset($query['print']);
					}
					else
					{
						$segments[] = JText::_('RST_SEF_TICKET');
					}
					if (isset($query['id']))
					{
						$segments[] = $query['id'];
						unset($query['id']);
					}
					break;

				case 'signature':
					$segments[] = JText::_('RST_SEF_SIGNATURE');
					break;

				case 'history':
					$segments[] = JText::_('RST_SEF_HISTORY');
					if (isset($query['id']))
					{
						$segments[] = $query['id'];
						unset($query['id']);
					}
					break;

				case 'notes':
					$segments[] = JText::_('RST_SEF_NOTES');
					if (isset($query['ticket_id']))
					{
						$segments[] = $query['ticket_id'];
						unset($query['ticket_id']);
					}
					break;

				case 'note':
					if (!empty($query['id']))
					{
						$segments[] = JText::_('RST_SEF_EDIT_NOTE');
						if (isset($query['ticket_id']))
						{
							$segments[] = $query['ticket_id'];
							unset($query['ticket_id']);
						}
						$segments[] = $query['id'];
						unset($query['id']);
					}
					else
					{
						$segments[] = JText::_('RST_SEF_ADD_NOTE');
						if (isset($query['ticket_id']))
						{
							$segments[] = $query['ticket_id'];
							unset($query['ticket_id']);
						}
					}
					break;

				case 'ticketmessage':
					$segments[] = JText::_('RST_SEF_EDIT_TICKET_MESSAGE');
					if (isset($query['id']))
					{
						$segments[] = $query['id'];
						unset($query['id']);
					}
					break;

				case 'removedata':
					if (isset($query['layout']) &&
$query['layout'] == 'success')
					{
						$segments[] = JText::_('RST_SEF_REMOVE_DATA_SUCCESS');
					}
					else
					{
						$segments[] = JText::_('RST_SEF_REMOVE_DATA');
					}
					break;
			}
		}

		if (!empty($query['task']))
		{
			switch ($query['task'])
			{
				case 'resetsearch':
					$segments[] = JText::_('RST_SEF_RESET_SEARCH');
					unset($query['task']);
					break;

				case 'captcha':
					$segments[] = 'captcha';
					unset($query['task']);
					break;

				case 'removedata.process':
					$segments[] = JText::_('RST_SEF_REMOVE_DATA_PROCESS');
					unset($query['task']);
					break;
			}
		}

		unset($query['view'], $query['controller'],
$query['file_id']);
		unset($query['tmpl']);
		unset($query['layout']);

		return $segments;
	}

	public function parse(&$segments)
	{
		$lang = JFactory::getLanguage();

		$lang->load('com_rsticketspro', JPATH_SITE,
'en-GB', true);
		$lang->load('com_rsticketspro', JPATH_SITE,
$lang->getDefault(), true);
		$lang->load('com_rsticketspro', JPATH_SITE, null, true);

		$query = array();

		$segments[0] = str_replace(':', '-', $segments[0]);

		switch ($segments[0])
		{
			case JText::_('RST_SEF_TICKETS'):
				$query['view'] = 'tickets';
				break;

			case JText::_('RST_SEF_SEARCHES'):
				$query['view'] = 'predefinedsearches';
				break;

			case JText::_('RST_SEF_SELECT_USER_FROM_LIST'):
				$query['view'] = 'users';
				$query['layout'] = 'modal';
				$query['tmpl'] = 'component';
				break;

			case JText::_('RST_SEF_SUBMIT_TICKET'):
				$query['view'] = 'submit';
				break;

			case JText::_('RST_SEF_DASHBOARD'):
				$query['view'] = 'dashboard';
				break;

			case JText::_('RST_SEF_EDIT_PREDEFINED_SEARCH'):
				$query['view'] = 'predefinedsearch';
				$query['layout'] = 'edit';
				if (isset($segments[1]))
				{
					$query['id'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_NEW_PREDEFINED_SEARCH'):
				$query['view'] = 'predefinedsearch';
				$query['layout'] = 'edit';
				break;

			case JText::_('RST_SEF_KB'):
				$query['view'] = 'knowledgebase';
				if (!empty($segments[1]))
				{
					$query['cid'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_KB_RESULTS'):
				$query['view']   = 'knowledgebase';
				$query['layout'] = 'results';
				break;

			case JText::_('RST_SEF_KB_ARTICLE'):
				$query['view'] = 'article';
				if (!empty($segments[1]))
				{
					$query['cid'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_ADVANCED_SEARCH'):
				$query['view'] = 'search';
				$query['advanced'] = 'true';
				break;

			case JText::_('RST_SEF_SEARCH'):
				$query['view'] = 'search';
				break;

			case JText::_('RST_SEF_PRINT_TICKET'):
				$query['view'] = 'ticket';
				if (!empty($segments[1]))
				{
					$query['id'] = $segments[1];
				}
				$query['tmpl'] = 'component';
				$query['print'] = 1;
				break;

			case JText::_('RST_SEF_TICKET'):
				$query['view'] = 'ticket';
				if (!empty($segments[1]))
				{
					$query['id'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_SIGNATURE'):
				$query['view'] = 'signature';
				break;

			case JText::_('RST_SEF_HISTORY'):
				$query['view'] = 'history';
				$query['tmpl'] = 'component';
				if (!empty($segments[1]))
				{
					$query['id'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_NOTES'):
				$query['view'] = 'notes';
				$query['tmpl'] = 'component';
				if (!empty($segments[1]))
				{
					$query['ticket_id'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_ADD_NOTE'):
				$query['view'] = 'note';
				$query['layout'] = 'edit';
				$query['tmpl'] = 'component';
				if (!empty($segments[1]))
				{
					$query['ticket_id'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_EDIT_NOTE'):
				$query['view'] = 'note';
				$query['layout'] = 'edit';
				$query['tmpl'] = 'component';
				if (!empty($segments[1]))
				{
					$query['ticket_id'] = $segments[1];
				}
				if (!empty($segments[2]))
				{
					$query['id'] = $segments[2];
				}
				break;

			case JText::_('RST_SEF_EDIT_TICKET_MESSAGE'):
				$query['view'] = 'ticketmessage';
				$query['tmpl'] = 'component';
				if (!empty($segments[1]))
				{
					$query['id'] = $segments[1];
				}
				break;

			case JText::_('RST_SEF_RESET_SEARCH'):
				$query['task'] = 'resetsearch';
				break;

			case JText::_('RST_SEF_REMOVE_DATA'):
				$query['view'] = 'removedata';
				$query['layout'] = 'default';
				break;

			case JText::_('RST_SEF_REMOVE_DATA_SUCCESS'):
				$query['view'] = 'removedata';
				$query['layout'] = 'success';
				break;

			case JText::_('RST_SEF_REMOVE_DATA_PROCESS'):
				$query['task'] = 'removedata.process';
				break;

			case 'captcha':
				$query['task'] = 'captcha';
				break;
		}

		$segments = array();

		return $query;
	}
}rsticketspro.php000064400000004155151165235060010022 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// Load language
$lang = JFactory::getLanguage();
$lang->load('com_rsticketspro', JPATH_SITE, 'en-GB',
true);
$lang->load('com_rsticketspro', JPATH_SITE,
$lang->getDefault(), true);
$lang->load('com_rsticketspro', JPATH_SITE, null, true);

// Require helper files
require_once JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/helpers/adapter.php';
require_once JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/helpers/rsticketspro.php';

$lang = JFactory::getLanguage();

// load frontend
$lang->load('com_rsticketspro', JPATH_SITE, 'en-GB',
true);
$lang->load('com_rsticketspro', JPATH_SITE,
$lang->getDefault(), true);
$lang->load('com_rsticketspro', JPATH_SITE, null, true);

JHtml::_('stylesheet',
'com_rsticketspro/rsticketspro.css', array('relative'
=> true, 'version' => 'auto'));
JHtml::_('stylesheet', 'com_rsticketspro/icons.css',
array('relative' => true, 'version' =>
'auto'));
JHtml::_('script', 'com_rsticketspro/rsticketspro.js',
array('relative' => true, 'version' =>
'auto'));

if (version_compare(JVERSION, '4.0', '>='))
{
	JHtml::_('stylesheet', 'com_rsticketspro/style40.css',
array('relative' => true, 'version' =>
'auto'));
}
else
{
	JHtml::_('stylesheet', 'com_rsticketspro/style30.css',
array('relative' => true, 'version' =>
'auto'));
}

if (RSTicketsProHelper::getConfig('jquery'))
{
	JHtml::_('jquery.framework');
}

if (RSTicketsProHelper::getConfig('bootstrap'))
{
	JHtml::_('bootstrap.framework');

	// Load optional rtl Bootstrap css and Bootstrap bugfixes
	JHtml::_('bootstrap.loadCss', $includeMaincss = true,
JFactory::getDocument()->direction);
}

// Require the base controller
require_once __DIR__ . '/controller.php';

$controller	= JControllerLegacy::getInstance('Rsticketspro');
$task = JFactory::getApplication()->input->get('task');
$controller->execute($task);
$controller->redirect();views/article/index.html000064400000000054151165235060011324
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/article/tmpl/default.php000064400000001151151165235070012440
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

if ($this->params->get('show_page_heading', 1))
{
	?>
	<h1><?php echo !empty($this->article->name) ?
$this->escape($this->article->name) :
$this->escape($this->params->get('page_heading'));
?></h1>
	<?php
}

echo RSTicketsProHelper::getConfig('kb_load_plugin') ?
JHtml::_('content.prepare', $this->article->text) :
$this->article->text;views/article/tmpl/default.xml000064400000000777151165235070012466
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_KB_ARTICLE_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_KB_ARTICLE_MENU_DESC]]>
		</message>
	</layout>
	<config>
		<fields name="request">
			<fieldset name="request"
addfieldpath="/administrator/components/com_rsticketspro/models/fields">
				<field name="cid" type="kbarticle"
default="" label="RST_KB_SELECT_ARTICLE"
description="RST_KB_SELECT_ARTICLE" required="true"
/>
			</fieldset>
		</fields>
	</config>
</metadata>
views/article/tmpl/index.html000064400000000054151165235070012301
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/article/view.html.php000064400000004106151165235070011760
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewArticle extends JViewLegacy
{
	public function display($tpl = null)
	{
		$this->params	=
JFactory::getApplication()->getParams('com_rsticketspro');;
		$this->article	= $this->get('article');
		
		if (!$this->article->id || !$this->article->published ||
(!RSTicketsProHelper::isStaff() && $this->article->private))
		{
			throw new Exception(JText::_('RST_CANNOT_VIEW_ARTICLE'));
		}
		
		$this->prepareDocument();

		parent::display($tpl);
	}
	
	protected function prepareDocument()
	{
		// Title
		$this->document->setTitle($this->article->name);
		
		// Add meta information from article
		if (!empty($this->article->meta_description))
		{
			$this->document->setMetaData('description',
$this->article->meta_description);
		}
		if (!empty($this->article->meta_keywords))
		{
			$this->document->setMetaData('keywords',
$this->article->meta_keywords);
		}
		
		// Get active menu item
		$active = JFactory::getApplication()->getMenu()->getActive();
		// If it's an article menu item, menu parameteres overwrite article
meta.
		if ($active && strpos($active->link,
'&view=article&id='))
		{
			// Description
			if ($this->params->get('menu-meta_description'))
			{
				$this->document->setDescription($this->params->get('menu-meta_description'));
			}
			// Keywords
			if ($this->params->get('menu-meta_keywords'))
			{
				$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
			}
			// Robots
			if ($this->params->get('robots'))
			{
				$this->document->setMetadata('robots',
$this->params->get('robots'));
			}
		}
		
		// Pathway
		if ($path = $this->get('path'))
		{
			$pathway = JFactory::getApplication()->getPathway();
			foreach ($path as $item)
			{
				$pathway->addItem($item->name, $item->link);
			}
		}
	}
}views/article/view.json.php000064400000001744151165235070011772
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewArticle extends JViewLegacy
{
	protected $item;
	
	public function display($tpl = null)
	{
		// set the JSON headers
		header('Content-Type: application/json; charset=utf-8');
		
		$this->item	= $this->get('article');

		if (!$this->item->id || !$this->item->published ||
(!RSTicketsProHelper::isStaff() && $this->item->private))
		{
			throw new Exception(JText::_('RST_CANNOT_VIEW_ARTICLE'));
		}
		
		if (!RSTicketsProHelper::getConfig('allow_rich_editor'))
		{
			$this->item->text = strip_tags($this->item->text);
		}
		
		// display the result
		echo json_encode(array('text' => $this->item->text));
		
		// end application
		JFactory::getApplication()->close();
	}
}views/dashboard/index.html000064400000000054151165235070011631
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/dashboard/tmpl/default.php000064400000014246151165235100012747
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('stylesheet',
'com_rsticketspro/awesomplete.css', array('relative'
=> true, 'version' => 'auto'));
JHtml::_('script',
'com_rsticketspro/awesomplete.min.js', array('relative'
=> true, 'version' => 'auto'));
JHtml::_('script', 'com_rsticketspro/dashboard.js',
array('relative' => true, 'version' =>
'auto'));

if ($this->params->get('show_page_heading', 1))
{
	?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
	<?php
}

echo JText::_(RSTicketsProHelper::getConfig('global_message'));
?>
<form method="post" action="<?php echo
$this->search_link; ?>">
	<div id="rsticketspro_dashboard_search">
		<div class="btn-group">
			<input type="text" placeholder="<?php echo
$this->escape(JText::_('RST_SEARCH_HELPDESK')); ?>"
class="form-control input-xlarge" name="search"
autocomplete="off" id="rsticketspro_searchinp" />
			<button type="submit" class="btn
btn-primary"><i id="rstickets_search_icon"
class="icon-search"></i><?php echo
JHtml::_('image', 'com_rsticketspro/loading.gif',
'', array('id' => 'rsticketspro_loading',
'style' => 'display:none;'), true);
?></button>
		</div>
	</div>

	<div class="rst_dashboard_items">
		<div class="rst_dashboard_item">
			<h1><i class="rsticketsproicon-mail"></i>
<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=submit');
?>"><?php echo JText::_('RST_SUBMIT_TICKET');
?></a></h1>
			<div class="caption">
				<p><?php echo
JText::_($this->params->get('submit_ticket_desc'));
?></p>
			</div>
		</div>
		<div class="rst_dashboard_item">
			<h1><i
class="rsticketsproicon-clipboard"></i> <a
href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets');
?>"><?php echo JText::_('RST_VIEW_TICKETS');
?></a></h1>
			<div class="caption">
				<p><?php echo
JText::_($this->params->get('view_tickets_desc'));
?></p>
			</div>
		</div>
		<div class="rst_dashboard_item">
			<h1><i
class="rsticketsproicon-search-circled"></i> <a
href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=search');
?>"><?php echo JText::_('RST_SEARCH_TICKETS');
?></a></h1>
			<div class="caption">
				<p><?php echo
JText::_($this->params->get('search_tickets_desc'));
?></p>
			</div>
		</div>
	</div>
	<div class="clearfix"></div>

	<?php
	if ($this->params->get('show_kb', 1))
	{
		?>
		<div id="rsticketspro_dashboard_knowledgebase">
			<div>
				<h3><?php echo JText::_('RST_KNOWLEDGEBASE');
?></h3>

				<?php
				if (count($this->categories))
				{
					$parts = array_chunk($this->categories, 3);
					foreach ($parts as $part)
					{
						?>
						<div class="rst_dashboard_kb_row">
							<?php
							foreach($part as $category)
							{
								if ($category->thumb)
								{
									$thumb = JHtml::_('image',
'components/com_rsticketspro/assets/thumbs/small/'.$category->thumb,
$category->name, array(), false);
								}
								else
								{
									$thumb = JHtml::_('image',
'com_rsticketspro/kb-icon.png', $category->name, array(),
true);
								}
								?>
								<div class="rst_dashboard_kb_item">
									<strong>
										<?php echo $thumb; ?>
										<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=knowledgebase&cid='.$category->id.':'.JFilterOutput::stringURLSafe($category->name),
true, $this->kb_itemid); ?>"><?php echo
$this->escape($category->name); ?>
										</a>
									</strong>
									<?php
									if ($category->description)
									{
										?>
										<div><?php echo $category->description;
?></div>
										<?php
									}
									?>
								</div>
								<?php
							}
							?>
						</div>
						<div class="clearfix"></div>
						<?php
					}
				}
				else
				{
					?>
					<div class="rst_dashboard_center well well-small">
						<p><?php echo JText::_('RST_NO_KB_CATEGORIES');
?></p>
					</div>
					<?php
				}
				?>
			</div>
		</div>
		<?php
	}

	if ($this->params->get('show_tickets', 1))
	{
		?>
		<div id="rsticketspro_dashboard_tickets"
class="row-fluid">
			<div class="span12">
				<h3><?php echo JText::_('RST_MY_TICKETS');
?></h3>
				<?php
				if ($this->user->get('guest'))
				{
					?>
					<div class="alert alert-info">
						<p><?php echo
JText::_('RST_YOU_HAVE_TO_BE_LOGGED_IN'); ?></p>
						<p><a class="btn btn-primary" href="<?php
echo $this->login_link; ?>"><i
class="icon-lock"></i> <?php echo
JText::_('RST_CLICK_HERE_TO_LOGIN'); ?></a></p>
					</div>
					<?php
				}
				else
				{
					if (count($this->tickets))
					{
						?>
						<table class="table table-striped table-hover
table-bordered">
							<thead>
							<tr>
								<th><?php echo JText::_('RST_TICKET_SUBJECT');
?></th>
								<th><?php echo JText::_('RST_TICKET_STATUS');
?></th>
							</tr>
							</thead>
							<tbody>
							<?php
							foreach ($this->tickets as $ticket)
							{
								$hasReply = isset($ticket->message);
								?>
								<tr>
									<td><?php if ($hasReply) { ?><strong><?php }
?><a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=ticket&id='.$ticket->id.':'.JFilterOutput::stringURLSafe($ticket->subject));
?>"><?php echo $this->escape($ticket->subject);
?></a><?php if ($hasReply) { ?> (1)</strong><?php }
?></td>
									<td><?php echo
$this->escape(JText::_($ticket->status_name)); ?></td>
								</tr>
								<?php
							}
							?>
							</tbody>
						</table>
						<?php
					}
					else
					{
						?>
						<div class="alert alert-info">
							<p><?php echo JText::_('RST_NO_RECENT_ACTIVITY');
?></p>
						</div>
						<?php
					}
				}
				?>
			</div>
		</div>
		<?php
	}
	?>
</form>
<div class="clearfix"></div>

<input type="hidden" name="kb_itemid"
value="<?php echo $this->kb_itemid; ?>" />
<input type="hidden" name="curr_itemid"
value="<?php echo $this->itemid; ?>"
/>views/dashboard/tmpl/default.xml000064400000003262151165235100012754
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_DASHBOARD_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_DASHBOARD_DESC]]>
		</message>
	</layout>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field filter="raw" name="submit_ticket_desc"
rows="7" cols="45" type="textarea"
translate_default="true"
default="RST_SUBMIT_TICKET_DEFAULTTEXT"
label="RST_SUBMIT_TICKET_SMALLTEXT"
description="RST_SUBMIT_TICKET_SMALLTEXT_DESC" />
				<field filter="raw" name="view_tickets_desc"
rows="7" cols="45" type="textarea"
translate_default="true"
default="RST_VIEW_TICKETS_DEFAULTTEXT"
label="RST_VIEW_TICKETS_SMALLTEXT"
description="RST_VIEW_TICKETS_SMALLTEXT_DESC" />
				<field filter="raw" name="search_tickets_desc"
rows="7" cols="45" type="textarea"
translate_default="true"
default="RST_SEARCH_TICKETS_DEFAULTTEXT"
label="RST_SEARCH_TICKETS_SMALLTEXT"
description="RST_SEARCH_TICKETS_SMALLTEXT_DESC" />
				<field name="kb_itemid" type="text"
default="" label="RST_DASHBOARD_KB_ITEMID"
description="RST_DASHBOARD_KB_ITEMID_DESC" />
				<field name="show_kb" type="list"
default="1" label="RST_SHOW_KB_DASHBOARD"
description="RST_SHOW_KB_DASHBOARD_DESC">
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
				<field name="show_tickets" type="list"
default="1" label="RST_SHOW_TICKETS_DASHBOARD"
description="RST_SHOW_TICKETS_DASHBOARD_DESC">
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
				<field name="tickets_limit" type="text"
default="3" label="RST_DASHBOARD_TICKETS_LIMIT"
description="RST_DASHBOARD_TICKETS_LIMIT_DESC" />
			</fieldset>
		</fields>
	</config>
</metadata>views/dashboard/tmpl/index.html000064400000000054151165235100012577
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/dashboard/view.html.php000064400000003324151165235100012257
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewDashboard extends JViewLegacy
{
	public function display($tpl = null)
	{
		$this->params		=
JFactory::getApplication()->getParams('com_rsticketspro');
		$this->user			= JFactory::getUser();
		$this->categories	= $this->get('categories');
		$this->tickets		= $this->get('tickets');
		$this->login_link	=
JRoute::_('index.php?option=com_users&view=login&return='
. base64_encode((string) JUri::getInstance()));
		$this->kb_itemid	= (int)
$this->params->get('kb_itemid');
		$this->search_link  =
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=knowledgebase'
. (empty($this->kb_itemid) ? '&layout=results' :
'&Itemid=' . $this->kb_itemid));
		$this->itemid       =
JFactory::getApplication()->input->getInt('Itemid',0);

		$this->prepareDocument();

		parent::display($tpl);
	}
	
	protected function prepareDocument()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}

		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}

		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}
	
	public function trim($string, $max = 255, $more='...')
	{
		return RSTicketsProHelper::shorten($string, $max, $more);
	}
}views/history/index.html000064400000000054151165235100011375
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/history/metadata.xml000064400000000130151165235100011675
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/history/tmpl/default.php000064400000003323151165235100012513
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=history&id='.$this->id.'&tmpl=component');
?>" method="post" name="adminForm"
id="adminForm">
	<table class="table table-striped">
		<thead>
		<tr>
			<th><?php echo JHtml::_('grid.sort',
'RST_HISTORY_DATE', 'date', $listDirn, $listOrder);
?></th>
			<th><?php echo JHtml::_('grid.sort',
'RST_HISTORY_IP', 'ip', $listDirn, $listOrder);
?></th>
			<th><?php echo JText::_('RST_HISTORY_ACTION');
?></th>
			<th><?php echo JText::_('RST_HISTORY_VIEWED');
?></th>
		</tr>
		</thead>
		<tbody>
		<?php
		foreach ($this->items as $item)
		{
			?>
			<tr>
				<td width="1%" nowrap="nowrap"><?php echo
$this->showDate($item->date); ?></td>
				<td width="1%" nowrap="nowrap"><?php echo
$this->escape($item->ip); ?></td>
				<td width="1%" nowrap="nowrap"><?php echo
JText::_('RST_HISTORY_ACTION_'.$item->type); ?></td>
				<td><?php echo
$this->escape($this->showUser($item->user_id)); ?></td>
			</tr>
			<?php
		}
		?>
		</tbody>
	</table>
	<?php echo $this->pagination->getListFooter(); ?>

	<?php echo JHtml::_( 'form.token' ); ?>
	<input type="hidden" name="filter_order"
value="<?php echo $listOrder; ?>" />
	<input type="hidden" name="filter_order_Dir"
value="<?php echo $listDirn; ?>" />
</form>views/history/tmpl/index.html000064400000000054151165235100012351
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/history/view.html.php000064400000000554151165235100012033
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/views/history/view.html.php';views/index.html000064400000000054151165235100007674
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbresults/index.html000064400000000054151165235100011712
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbresults/metadata.xml000064400000000130151165235100012212
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/kbresults/tmpl/default.php000064400000000420151165235100013023
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
views/kbresults/tmpl/index.html000064400000000054151165235100012666
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbresults/view.json.php000064400000002211151165235100012345
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbresults extends JViewLegacy
{
	public function display($tpl = null)
	{
		// set the JSON headers
		header('Content-Type: application/json; charset=utf-8');
		
		$this->items = $this->get('Items');

		// Set the kb_itemid
		$kb_itemid =
JFactory::getApplication()->input->getInt('kb_itemid',0);

		// parse the results
		$results = array();
		$urls = array();
		foreach ($this->items as $item)
		{
			$results[] = array(
				'label' => $item->name,
				'value' => $item->id
			);
			$urls[$item->id] =
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=article&cid='.$item->id.':'.JFilterOutput::stringURLSafe($item->name),false,
$kb_itemid);
		}
		
		// display the results
		echo json_encode(array(
			'list' => $results,
			'urls' => $urls
		));
		
		// end application
		JFactory::getApplication()->close();
	}
}views/knowledgebase/index.html000064400000000054151165235110012507
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/knowledgebase/tmpl/default.php000064400000013463151165235110013633
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

if (!empty($this->category->name))
{
	?>
	<h1><?php echo $this->escape($this->category->name);
?></h1>
	<?php
}
else
{
	?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
	<?php
}

if ($this->params->def('show_description', 1))
{
	echo $this->category->description;
}

if (count($this->categories))
{
	?>
	<div class="rst_categories">
	<?php
	foreach ($this->categories as $category)
	{
		if ($category->thumb)
		{
			$thumb = JHtml::_('image',
'components/com_rsticketspro/assets/thumbs/small/'.$category->thumb,
$category->name, array(), false);
		}
		else
		{
			$thumb = JHtml::_('image',
'com_rsticketspro/kb-icon.png', $category->name, array(),
true);
		}
		?>
		<div class="well well-small">
			<strong><?php echo $thumb; ?> <a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=knowledgebase&cid='.$category->id.':'.JFilterOutput::stringURLSafe($category->name));
?>"><?php echo $this->escape($category->name);
?></a></strong>
			<?php
			if ($this->params->def('show_description', 1) &&
$category->description)
			{
				?>
				<div><?php echo $category->description; ?></div>
				<?php
			}
			?>
		</div>
		<?php
	}
	?>
	</div>
	<?php
}
?>

<form action="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=knowledgebase'.($this->cid
?
'&cid='.$this->cid.':'.JFilterOutput::stringURLSafe($this->category->name)
: '')); ?>" method="post"
name="adminForm" id="adminForm">
	<?php
	if ($this->params->get('filter', 1) ||
$this->is_filter_active ||
$this->params->get('show_pagination_limit', 1))
	{
		?>
		<fieldset class="com-rsticketspro-kb-filter">
			<?php
			if ($this->params->get('filter', 1) ||
$this->is_filter_active)
			{
				?>
				<div class="btn-group pull-left float-left">
					<label class="filter-search-lbl element-invisible"
for="filter-search">
						<?php echo
JText::_('RST_FILTER').'&#160;'; ?>
					</label>
					<input type="text" class="form-control"
name="search" id="filter-search" value="<?php
echo $this->escape($this->filter_word); ?>"
title="<?php echo JText::_('RST_FILTER'); ?>"
placeholder="<?php echo JText::_('RST_FILTER');
?>" />
					<button type="submit" class="btn
btn-primary"><?php echo JText::_('RST_SEARCH');
?></button>
					<?php
					if (strlen($this->filter_word))
					{
						?>
						<button type="button" class="btn btn-danger"
onclick="document.getElementById('filter-search').value='';
this.form.submit();"><?php echo JText::_('RST_CLEAR');
?></button>
						<?php
					}
					?>
				</div>
				<?php
			}

			if ($this->params->get('show_pagination_limit', 1))
			{
				?>
				<div class="btn-group pull-right float-right">
					<label for="limit"
class="element-invisible">
						<?php echo JText::_('JGLOBAL_DISPLAY_NUM'); ?>
					</label>
					<?php echo $this->pagination->getLimitBox(); ?>
				</div>
				<?php
			}
			?>
			<div class="clearfix"></div>
		</fieldset>
		<?php
	}

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped table-bordered
table-hover">
			<?php
			if ($this->params->get('show_headings', 1))
			{
				?>
				<thead>
					<tr>
						<th nowrap="nowrap" style="width:
1%;"><?php echo JText::_('#'); ?></th>
						<th><?php echo JHtml::_('grid.sort',
'RST_KB_ARTICLE_NAME', 'name', $this->sortOrder,
$this->sortColumn); ?></th>
						<?php
						if ($this->params->get('show_hits', 0))
						{
							?>
							<th nowrap="nowrap" style="width:
1%;"><?php echo JHtml::_('grid.sort',
'RST_KB_ARTICLE_HITS', 'hits', $this->sortOrder,
$this->sortColumn); ?></th>
							<?php
						}
						?>
					</tr>
				</thead>
				<?php
			}
			?>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr>
					<td nowrap="nowrap" style="width: 1%;">
						<?php echo $this->pagination->getRowOffset($i); ?>
					</td>
					<td>
						<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=article&cid='.$item->id.':'.JFilterOutput::stringURLSafe($item->name));
?>">
							<?php echo $item->name != '' ? $item->name :
JText::_('RST_NO_TITLE'); ?>
						</a>
						<?php
						if ($this->isHot($item->hits))
						{
							?>
							<em class="rst_hot"><?php echo
JText::_('RST_HOT'); ?></em>
							<?php
						}
						?>
					</td>
					<?php
					if ($this->params->get('show_hits', 0))
					{
						?>
						<td nowrap="nowrap" style="width: 1%;">
							<span class="badge badge-info"><?php echo
$item->hits; ?></span>
						</td>
						<?php
					}
					?>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		if ($this->params->get('show_pagination', 1))
		{
			?>
			<div class="pagination<?php echo
$this->escape($this->params->get('pageclass_sfx'));
?>">
				<?php echo $this->pagination->getPagesLinks(); ?>
			</div>
			<?php
		}
	}
	?>

	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="option"
value="com_rsticketspro" />
	<input type="hidden" name="task" value=""
/>
	<input type="hidden" name="cid"
value="<?php echo $this->cid; ?>" />
	<input type="hidden" name="filter_order"
value="<?php echo $this->sortColumn; ?>" />
	<input type="hidden" name="filter_order_Dir"
value="<?php echo $this->sortOrder; ?>" />
</form>views/knowledgebase/tmpl/default.xml000064400000004660151165235110013643
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_KB_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_KNOWLEDGEBASE_MENU_DESC]]>
		</message>
	</layout>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field name="order_by" type="list"
default="1" label="RST_KB_CONTENT_ORDER_BY"
description="RST_KB_CONTENT_ORDER_BY_DESC">
					<option value="ordering">RST_DEFAULT</option>
					<option value="hits">RST_KB_HITS</option>
					<option value="created">RST_KB_CREATED</option>
					<option
value="modified">RST_KB_MODIFIED</option>
					<option
value="name">RST_KB_ARTICLE_NAME</option>
				</field>
				<field name="order_dir" type="list"
default="ASC" label="RST_KB_CONTENT_ORDER_DIR"
description="RST_KB_CONTENT_ORDER_DIR_DESC">
					<option value="ASC">RST_ASC</option>
					<option value="DESC">RST_DESC</option>
				</field>
				<field name="show_description" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_KB_CATEGORY_DESCRIPTION"
description="RST_KB_CATEGORY_DESCRIPTION_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="filter" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_FILTER" description="RST_FILTER_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_headings" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_SHOW_HEADINGS"
description="RST_SHOW_HEADINGS_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_hits" type="radio"
class="btn-group btn-group-yesno" default="0"
label="RST_SHOW_HITS"
description="RST_SHOW_HITS_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_pagination" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_SHOW_PAGINATION"
description="RST_SHOW_PAGINATION_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_pagination_limit" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_SHOW_PAGINATION_LIMIT"
description="RST_SHOW_PAGINATION_LIMIT_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
			</fieldset>
		</fields>
	</config>
</metadata>views/knowledgebase/tmpl/index.html000064400000000054151165235110013463
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/knowledgebase/tmpl/results.php000064400000004547151165235110013713
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
?>

<h1><?php echo JText::sprintf('RST_KB_RESULTS_FOR',
$this->escape($this->word)); ?></h1>

<?php
if (empty($this->items))
{
	?>
	<div class="alert alert-info">
		<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
		<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
	</div>
	<?php
}
else
{
?>
	<table class="table table-striped table-bordered
table-hover">
	<?php
	if ($this->params->get('show_headings', 1))
	{
		?>
		<thead>
			<tr>
				<th nowrap="nowrap" style="width:
1%;"><?php echo JText::_('#'); ?></th>
				<th><?php echo JText::_('RST_KB_ARTICLE_NAME');
?></th>
				<th><?php echo JText::_('RST_KB_CATEGORY_NAME');
?></th>
			</tr>
		</thead>
		<?php
	}
	?>
	<tbody>
		<?php
		foreach ($this->items as $i => $item)
		{
			?>
			<tr>
				<td nowrap="nowrap" style="width: 1%;">
					<?php echo $this->pagination->getRowOffset($i); ?>
				</td>
				<td>
					<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=article&cid='.$item->id.':'.JFilterOutput::stringURLSafe($item->name));
?>">
						<?php echo $item->name != '' ? $item->name :
JText::_('RST_NO_TITLE'); ?>
					</a>
					<?php
					if ($this->isHot($item->hits))
					{
						?>
						<em class="rst_hot"><?php echo
JText::_('RST_HOT'); ?></em>
						<?php
					}
					?>
				</td>
				<td>
					<?php
					if ($item->category_id)
					{
						?>
						<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=knowledgebase&cid='.$item->category_id.':'.JFilterOutput::stringURLSafe($item->category_name));
?>"><?php echo $this->escape($item->category_name);
?></a>
						<?php
					}
					else
					{
						echo JText::_('RST_KB_NO_CATEGORY');
					}
					?>
				</td>
			</tr>
			<?php
		}
		?>
	</tbody>
	</table>
	<?php
	if ($this->params->get('show_pagination', 1))
	{
		?>
		<div class="pagination<?php echo
$this->escape($this->params->get('pageclass_sfx'));
?>">
			<?php echo $this->pagination->getPagesLinks(); ?>
		</div>
		<?php
	}
}views/knowledgebase/tmpl/results.xml000064400000000132151165235110013706
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout hidden="true" />
</metadata>views/knowledgebase/view.html.php000064400000005067151165235110013151
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKnowledgebase extends JViewLegacy
{
	protected $hot_hits = 0;
	
	public function display($tpl = null)
	{
		$mainframe		= JFactory::getApplication();
		$this->params	=
$mainframe->getParams('com_rsticketspro');
		$layout			= $this->getLayout();
		
		if ($layout == 'results')
		{
			$this->items		= $this->get('results');
			$this->pagination	= $this->get('resultspagination');
			$this->word			= $this->get('resultsword');
		}
		else
		{
			$this->categories		= $this->get('categories');
			$this->items			= $this->get('content');
			$this->pagination		= $this->get('contentpagination');
			$this->sortColumn		= $this->get('sortcolumn');
			$this->sortOrder		= $this->get('sortorder');
			$this->filter_word		= $this->get('filterword');
			$this->category			= $this->get('category');
			$this->cid				= $mainframe->input->getInt('cid',0);
			$this->is_filter_active = (strlen($this->filter_word) > 0);
		}

		$this->prepareDocument();

		parent::display($tpl);
	}
	
	protected function prepareDocument()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}
		
		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}
		
		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
		
		// Add meta information from category, if one has been requested
		if (!empty($this->category))
		{
			if (!empty($this->category->meta_description))
			{
				$this->document->setMetaData('description',
$this->category->meta_description);
			}
			if (!empty($this->category->meta_keywords))
			{
				$this->document->setMetaData('keywords',
$this->category->meta_keywords);
			}
		}
		
		// Pathway
		if ($path = $this->get('path'))
		{
			$pathway = JFactory::getApplication()->getPathway();

			foreach ($path as $item)
			{
				$pathway->addItem($item->name, $item->link);
			}
		}
	}
	
	public function isHot($hits)
	{
		if (empty($this->hot_hits))
		{
			$this->hot_hits =
RSTicketsProHelper::getConfig('kb_hot_hits');
		}
		
		return $hits >= $this->hot_hits;
	}
}views/note/index.html000064400000000054151165235110010642
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/note/metadata.xml000064400000000130151165235110011142
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/note/tmpl/edit.php000064400000002473151165235110011266
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=note&tmpl=component&layout=edit&id='.(int)
$this->item->id.'&ticket_id='.$this->ticket_id);
?>" method="post" name="adminForm"
id="adminForm" class="form-validate">
	<div class="rst_button_spacer">
		<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('note.apply');"><i
class="icon-apply icon-white"></i> <?php echo
JText::_('JAPPLY'); ?></button>
		<button type="button" class="btn btn-danger"
onclick="Joomla.submitbutton('note.cancel');"><i
class="icon-cancel"></i> <?php echo
JText::_('JCANCEL'); ?></button>
	</div>
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>

	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="task" value=""
/>
</form>views/note/tmpl/index.html000064400000000054151165235120011617
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/note/view.html.php000064400000000553151165235120011300
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/views/note/view.html.php';views/notes/index.html000064400000000054151165235120011026
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/notes/metadata.xml000064400000000130151165235120011326
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/notes/tmpl/default.php000064400000007332151165235120012150
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));

JText::script('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST');
JText::script('RST_DELETE_TICKET_NOTE_CONFIRM');
?>

<form action="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=notes&ticket_id='.$this->id.'&tmpl=component');
?>" method="post" name="adminForm"
id="adminForm">
	<div class="rst_button_spacer">
	<?php
	if ($this->permissions->add_note)
	{
		?>
		<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('note.add');"><i
class="icon-plus"></i> <?php echo
JText::_('RST_TICKET_ADD_NOTE'); ?></button>
		<?php
	}
	if ($this->permissions->delete_note ||
$this->permissions->delete_note_staff)
	{
		?>
		<button type="button" class="btn btn-danger"
onclick="if (document.adminForm.boxchecked.value === '0') {
alert(Joomla.JText._('JLIB_HTML_PLEASE_MAKE_A_SELECTION_FROM_THE_LIST'));
} else { if
(confirm(Joomla.JText._('RST_DELETE_TICKET_NOTE_CONFIRM'))) {
Joomla.submitbutton('notes.delete'); } }"><i
class="icon-delete"></i> <?php echo
JText::_('RST_TICKET_DELETE_NOTE'); ?></button>
		<?php
	}
	?>
	</div>
	<?php
	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped table-condensed">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th><?php echo JHtml::_('grid.sort',
'RST_HISTORY_DATE', 'date', $listDirn, $listOrder);
?></th>
				<th><?php echo JText::_('RST_NOTES_USER');
?></th>
				<th><?php echo JText::_('RST_TICKET_NOTE');
?></th>
			</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
				$canDelete = ($this->permissions->delete_note &&
$item->user_id == $this->userId) ||
($this->permissions->delete_note_staff && $item->user_id
!= $this->userId);
				$canEdit   = ($this->permissions->update_note &&
$item->user_id == $this->userId) ||
($this->permissions->update_note_staff && $item->user_id
!= $this->userId);
				?>
				<tr>
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id, !$canDelete);
?></td>
					<td width="1%" nowrap="nowrap"><?php echo
$this->showDate($item->date); ?></td>
					<td width="1%" nowrap="nowrap"><?php echo
$this->escape($this->showUser($item->user_id)); ?></td>
					<td>
						<p><?php echo nl2br($this->escape($item->text));
?></p>
						<?php
						if ($canEdit)
						{
							?>
							<p><a class="btn btn-secondary btn-mini btn-sm"
href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=note.edit&tmpl=component&ticket_id='.$this->id.'&id='.(int)
$item->id); ?>"><?php echo
JText::_('RST_TICKET_EDIT_NOTE'); ?></a></p>
							<?php
						}
						?>
					</td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}

	echo JHtml::_( 'form.token' );
	?>
	<input type="hidden" name="boxchecked"
value="0" />
	<input type="hidden" name="task" value=""
/>
	<input type="hidden" name="filter_order"
value="<?php echo $listOrder; ?>" />
	<input type="hidden" name="filter_order_Dir"
value="<?php echo $listDirn; ?>" />
</form>views/notes/tmpl/index.html000064400000000054151165235120012002
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/notes/view.html.php000064400000000552151165235120011462
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/views/notes/view.html.php';views/predefinedsearch/index.html000064400000000054151165235120013171
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/predefinedsearch/metadata.xml000064400000000130151165235120013471
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/predefinedsearch/tmpl/edit.php000064400000007417151165235130013621
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=predefinedsearch&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}

	if (isset($this->item->params['search']))
	{
		$input = strlen($this->item->params['search']) ?
$this->escape($this->item->params['search']) :
'<em>' . JText::_('RST_NONE_SUPPLIED') .
'</em>';
		$this->showField(JText::_('RST_SEARCH_TEXT'), $input);
	}

	if (isset($this->item->params['customer']))
	{
		$input = strlen($this->item->params['customer']) ?
$this->escape($this->item->params['customer']) :
'<em>' . JText::_('RST_NONE_SUPPLIED') .
'</em>';
		$this->showField(JText::_('RST_SEARCH_CUSTOMER'), $input);
	}

	if (isset($this->item->params['staff']))
	{
		if (strlen($this->item->params['staff']))
		{
			if ((string) $this->item->params['staff'] ===
'0')
			{
				$input = '<em>' . JText::_('RST_UNASSIGNED')
. '</em>';
			}
			else
			{
				$input =
$this->escape($this->item->params['staff']);
			}
		}
		else
		{
			$input = '<em>' .
JText::_('RST_NONE_SUPPLIED') . '</em>';
		}
		$this->showField(JText::_('RST_SEARCH_STAFF'), $input);
	}

	if (isset($this->item->params['department_id']))
	{
		$departments =
$this->getDepartments($this->item->params['department_id']);
		$input = $departments ? $this->escape(implode(', ',
$departments)) : '<em>' .
JText::_('RST_NONE_SUPPLIED') . '</em>';
		$this->showField(JText::_('RST_SEARCH_DEPARTMENTS'),
$input);
	}

	if (isset($this->item->params['priority_id']))
	{
		$priorities =
$this->getPriorities($this->item->params['priority_id']);
		$input = $priorities ? $this->escape(implode(', ',
$priorities)) : '<em>' .
JText::_('RST_NONE_SUPPLIED') . '</em>';
		$this->showField(JText::_('RST_SEARCH_PRIORITIES'),
$input);
	}

	if (isset($this->item->params['status_id']))
	{
		$statuses =
$this->getStatuses($this->item->params['status_id']);
		$input = $statuses ? $this->escape(implode(', ', $statuses))
: '<em>' . JText::_('RST_NONE_SUPPLIED') .
'</em>';
		$this->showField(JText::_('RST_SEARCH_STATUSES'), $input);
	}

	if (isset($this->item->params['flagged']))
	{
		$input = $this->item->params['flagged'] ?
JText::_('JYES') : JText::_('JNO');
		$this->showField(JText::_('RST_SEARCH_FLAGGED'), $input);
	}

	if (!empty($this->item->params['ordering']))
	{
		$input =
JText::_('RST_TICKET_'.$this->item->params['ordering']);
		if (!empty($this->item->params['direction']))
		{
			$input .= ' ' .
($this->item->params['direction'] == 'asc' ?
JText::_('JGLOBAL_ORDER_ASCENDING') :
JText::_('JGLOBAL_ORDER_DESCENDING'));
		}
		$this->showField(JText::_('JFIELD_ORDERING_LABEL'),
$input);
	}
	?>
	
	<div class="form-actions">
		<button type="button"
onclick="Joomla.submitbutton('predefinedsearch.save');"
class="btn btn-primary"><?php echo
JText::_('RST_SAVE'); ?></button>
		<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=predefinedsearches');
?>" class="btn btn-secondary"><?php echo
JText::_('RST_BACK_TO_SEARCHES_LIST'); ?></a>
	</div>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/predefinedsearch/tmpl/index.html000064400000000054151165235130014146
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/predefinedsearch/view.html.php000064400000007526151165235130013636
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewPredefinedsearch extends JViewLegacy
{	
	public function display($tpl = null)
	{
		$this->canAccess();
		
		$this->params		=
JFactory::getApplication()->getParams('com_rsticketspro');
		$this->form			= $this->get('Form');
		$this->item			= $this->get('Item');
		
		$this->prepareDocument();

		parent::display($tpl);
	}
	
	protected function prepareDocument()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}

		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}

		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}
	
	protected function canAccess()
	{
		$app = JFactory::getApplication();
		
		if (JFactory::getUser()->get('guest'))
		{
			$link = base64_encode((string) JUri::getInstance());
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_users&view=login&return='.$link,
false));
		}
		
		if (!RSTicketsProHelper::isStaff())
		{
		   
$app->enqueueMessage(JText::_('RST_CUSTOMER_CANNOT_VIEW_SEARCHES'),
'warning');
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets',
false));
		}
	}

	protected function getDepartments($ids)
	{
		$db 	 = JFactory::getDbo();
		$results = array();

		if (!is_array($ids))
		{
			$ids = (array) $ids;
		}

		if (!$ids)
		{
			return $results;
		}

		$filtered_ids = array();
		foreach ($ids as $id)
		{
			$filtered_ids[] = $db->q($id);
		}

		// Load departments
		$query = $db->getQuery(true);
		$query->select($db->qn('name'))
			->from($db->qn('#__rsticketspro_departments'))
			->where($db->qn('id') . ' IN
('.implode(',', $filtered_ids).')');

		if ($results = $db->setQuery($query)->loadColumn())
		{
			foreach ($results as $k => $result)
			{
				$results[$k] = JText::_($result);
			}
		}

		return $results;
	}

	protected function getPriorities($ids)
	{
		$db 	 = JFactory::getDbo();
		$results = array();

		if (!is_array($ids))
		{
			$ids = (array) $ids;
		}

		if (!$ids)
		{
			return $results;
		}

		$filtered_ids = array();
		foreach ($ids as $id)
		{
			$filtered_ids[] = $db->q($id);
		}

		// Load priorities
		$query = $db->getQuery(true);
		$query->select($db->qn('name'))
			->from($db->qn('#__rsticketspro_priorities'))
			->where($db->qn('id') . ' IN
('.implode(',', $filtered_ids).')');

		if ($results = $db->setQuery($query)->loadColumn())
		{
			foreach ($results as $k => $result)
			{
				$results[$k] = JText::_($result);
			}
		}

		return $results;
	}

	protected function getStatuses($ids)
	{
		$db 	 = JFactory::getDbo();
		$results = array();

		if (!is_array($ids))
		{
			$ids = (array) $ids;
		}

		if (!$ids)
		{
			return $results;
		}

		$filtered_ids = array();
		foreach ($ids as $id)
		{
			$filtered_ids[] = $db->q($id);
		}

		// Load statuses
		$query = $db->getQuery(true);
		$query->select($db->qn('name'))
			->from($db->qn('#__rsticketspro_statuses'))
			->where($db->qn('id') . ' IN
('.implode(',', $filtered_ids).')');

		if ($results = $db->setQuery($query)->loadColumn())
		{
			foreach ($results as $k => $result)
			{
				$results[$k] = JText::_($result);
			}
		}

		return $results;
	}

	protected function showField($label, $desc)
	{
		echo '<p><strong>' . $label .
'</strong><br>' . $desc . '</p>';
	}
}views/predefinedsearches/index.html000064400000000054151165235130013522
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/predefinedsearches/metadata.xml000064400000000261151165235130014027
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view title="RST_MANAGE_SEARCHES">
		<message>
			<![CDATA[RST_SIGNATURE_MENU_DESC]]>
		</message>
	</view>
</metadata>views/predefinedsearches/tmpl/default.php000064400000007175151165235130014651
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access'); 

JHtml::_('behavior.keepalive');
JHtml::_('script',
'com_rsticketspro/predefinedsearches.js',
array('relative' => true, 'version' =>
'auto'));

JText::script('RST_DELETE_SEARCH_CONFIRM');

$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));

$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=predefinedsearches.saveOrderAjax&tmpl=component';

if (!empty($this->items))
{
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}

if ($this->params->get('show_page_heading', 1))
{
	?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
	<?php
}
?>

<p>
	<button type="button" class="btn btn-danger"
disabled="disabled" id="rst_delete_btn"
onclick="if
(confirm(Joomla.JText._('RST_DELETE_SEARCH_CONFIRM')))
Joomla.submitbutton('predefinedsearches.delete');"><?php
echo JText::_('RST_DELETE'); ?></button>
</p>
<form action="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=predefinedsearches');
?>" method="post" id="adminForm"
name="adminForm">
	<?php
	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped table-bordered
table-hover" id="articleList">
			<thead>
				<tr>
					<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
					<th><?php echo JText::_('RST_SEARCH_NAME');
?></th>
					<th class="center" align="center"><?php
echo JText::_('RST_DEFAULT_SEARCH_SHORT'); ?></th>
					<th width="1%" class="nowrap
center"><?php echo JHtml::_('searchtools.sort',
'', 'ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?></th>
				</tr>
			</thead>
			<tbody class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false">
				<?php
				foreach ($this->items as $i => $item)
				{
					?>
					<tr data-draggable-group="1">
						<td class="center" align="center">
							<?php echo JHtml::_('grid.id', $i, $item->id);
?>
						</td>
						<td>
							<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&task=predefinedsearch.edit&id='.$item->id);
?>">
								<?php echo !empty($item->name) ?
$this->escape($item->name) :
'<em>'.JText::_('RST_NO_TITLE').'</em>';
?>
							</a>
						</td>
						<td class="center" align="center"
style="width: 1%" nowrap="nowrap"><?php echo
$item->default ? JText::_('JYES') : JText::_('JNO');
?></td>
						<td class="order center">
							<span class="sortable-handler"><i
class="icon-menu"></i></span>
							<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
						</td>
					</tr>
					<?php
				}
				?>
			</tbody>
		</table>

		<div class="pagination"><?php echo
$this->pagination->getPagesLinks(); ?></div>
		<?php
	}
	?>

	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="boxchecked"
value="0" />
	<input type="hidden" name="task" value=""
/>
</form>views/predefinedsearches/tmpl/default.xml000064400000000305151165235130014646
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_SEARCHES_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_MANAGE_SEARCHES_MENU_DESC]]>
		</message>
	</layout>
</metadata>
views/predefinedsearches/tmpl/index.html000064400000000054151165235130014476
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/predefinedsearches/view.html.php000064400000003577151165235140014171
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewPredefinedsearches extends JViewLegacy
{	
	public function display($tpl = null)
	{
		$this->canAccess();
		
		$app				= JFactory::getApplication();
		$this->params		= $app->getParams('com_rsticketspro');
		$this->items 		= $this->get('Items');
		$this->state 		= $this->get('State');
		$this->pagination 	= $this->get('Pagination');

		$app->getPathway()->addItem(JText::_('RST_MANAGE_SEARCHES'),
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=predefinedsearches'));

		$this->prepareDocument();

		parent::display($tpl);
	}
	
	protected function prepareDocument()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}

		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}

		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}
	
	protected function canAccess()
	{
		$app = JFactory::getApplication();
		
		if (JFactory::getUser()->get('guest'))
		{
			$link = base64_encode((string) JUri::getInstance());
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_users&view=login&return='.$link,
false));
		}
		
		if (!RSTicketsProHelper::isStaff())
		{
		   
$app->enqueueMessage(JText::_('RST_CUSTOMER_CANNOT_VIEW_SEARCHES'),
'warning');
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets',
false));
		}
	}
}views/removedata/index.html000064400000000054151165235140012027
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/removedata/tmpl/default.php000064400000003202151165235140013141
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
JHtml::_('behavior.keepalive');
?>

<?php if ($this->params->get('show_page_heading', 1)) {
?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
<?php } ?>

<?php echo $this->globalMessage; ?>

<form id="rsticketspro_removedata_form" action="<?php
echo
JRoute::_('index.php?option=com_rsticketspro&view=removedata');
?>" method="post" name="removeDataForm">
	<div id="rsticketspro_remove_data_and_close_account">
		<div class="alert alert-warning">
			<?php if ($this->anonymise_joomla_data) { ?>
			<p><?php echo
JText::_('COM_RSTICKETSPRO_REMOVE_DATA_AND_CLOSE_ACCOUNT_SURE_NO_LOGIN');
?></p>
			<?php } else { ?>
			<p><?php echo
JText::_('COM_RSTICKETSPRO_REMOVE_DATA_AND_CLOSE_ACCOUNT_SURE');
?></p>
			<?php } ?>
			<p><strong><?php echo
JText::_('COM_RSTICKETSPRO_REMOVE_DATA_AND_CLOSE_ACCOUNT_SURE_CONT');
?></strong></p>
			<p><button type="button"
onclick="RSTicketsPro.requestRemoveData(this);" class="btn
btn-danger"><?php echo
JText::sprintf('COM_RSTICKETSPRO_YES_SEND_ME_A_LINK',
$this->email); ?></button></>
		</div>
	</div>
	<div class="text-center">
	<button type="button" class="btn btn-danger"
onclick="RSTicketsPro.removeData(this);"><?php echo
JText::_('COM_RSTICKETSPRO_REMOVE_DATA_AND_CLOSE_ACCOUNT');
?></button>
	</div>
	
	<?php if ($this->show_footer) echo $this->footer; ?>
</form>views/removedata/tmpl/default.xml000064400000000304151165235150013153
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_REMOVE_DATA_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_REMOVE_DATA_MENU_DESC]]>
		</message>
	</layout>
</metadata>
views/removedata/tmpl/index.html000064400000000054151165235150013004
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/removedata/tmpl/success.php000064400000001214151165235150013167
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2018 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

$this->app->enqueueMessage(JText::_('COM_RSTICKETSPRO_DATA_HAS_BEEN_SUCCESSFULLY_ANONYMISED'));
?>

<?php if ($this->params->get('show_page_heading', 1)) {
?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
<?php } ?>

<?php echo $this->globalMessage; ?>

<?php if ($this->show_footer) echo $this->footer;
?>views/removedata/view.html.php000064400000003753151165235150012472
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2018 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewRemovedata extends JViewLegacy
{
	public function display($tpl = null)
    {
        $user       = JFactory::getUser();
        $this->app	= JFactory::getApplication();

        // not logged in?
        if (strtolower($this->getLayout()) == 'default'
&& !$user->get('id'))
        {
            $link = base64_encode((string) JUri::getInstance());
           
$this->app->redirect(JRoute::_('index.php?option=com_users&view=login&return='.$link,
false));
        }

        $this->globalMessage	        =
JText::_(RSTicketsProHelper::getConfig('global_message'));

        $this->params			        =
$this->app->getParams('com_rsticketspro');
        $this->show_footer		        =
RSTicketsProHelper::getConfig('rsticketspro_link');
        $this->footer			        = RSTicketsProHelper::getFooter();
        $this->allow_self_anonymisation =
RSTicketsProHelper::getConfig('allow_self_anonymisation')
&& !$user->authorise('core.admin');
        $this->anonymise_joomla_data    =
RSTicketsProHelper::getConfig('anonymise_joomla_data');
        $this->email                    = $user->email;

		$this->prepareDocument();

		parent::display($tpl);
	}

    protected function prepareDocument()
    {
        // Description
        if ($desc =
$this->params->get('menu-meta_description'))
        {
            $this->document->setDescription($desc);
        }
        // Keywords
        if ($keywords =
$this->params->get('menu-meta_keywords'))
        {
            $this->document->setMetadata('keywords',
$keywords);
        }
        // Robots
        if ($robots = $this->params->get('robots'))
        {
            $this->document->setMetadata('robots',
$robots);
        }
    }
}views/search/index.html000064400000000054151165235150011146
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/search/tmpl/default.php000064400000003210151165235150012257
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

if ($this->params->get('show_page_heading', 1))
{
	?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
	<?php
}

echo $this->globalMessage;
?>

<form id="rsticketspro_form" action="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets'.$this->itemid);
?>" method="post" name="searchForm">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div class="form-actions">
		<button type="submit" class="btn
btn-primary"><?php echo JText::_('RST_SEARCH');
?></button>
		<?php
		if (!$this->advanced)
		{
			?>
			<a class="btn btn-secondary" href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=search&advanced=true');
?>"><?php echo
JText::_('RST_OPEN_ADVANCED_SEARCH'); ?></a>
			<?php
		}
		?>
	</div>

	<?php
	if ($this->show_footer)
	{
		echo $this->footer;
	}

	if (!$this->advanced)
	{
		?>
		<input type="hidden" name="customer"
id="customer" value="" />
		<input type="hidden" name="staff"
id="staff" value="" />
		<input type="hidden" name="status_id"
id="status_id" value="" />
		<?php
	}
	?>
	<input type="hidden" name="option"
value="com_rsticketspro" />
	<input type="hidden" name="task"
value="search" />
</form>views/search/tmpl/default.xml000064400000001057151165235150012277
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_SEARCH_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_SEARCH_TICKETS_MENU_DESC]]>
		</message>
	</layout>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field name="staff_itemid" type="text"
default="" label="RST_STAFF_ITEMID"
description="RST_STAFF_ITEMID_DESC"></field>
				<field name="customer_itemid" type="text"
default="" label="RST_CUSTOMER_ITEMID"
description="RST_CUSTOMER_ITEMID_DESC"></field>
			</fieldset>
		</fields>
	</config>
</metadata>
views/search/tmpl/index.html000064400000000054151165235150012122
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/search/view.html.php000064400000002743151165235150011606
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');


class RsticketsproViewSearch extends JViewLegacy
{
	public function display($tpl = null) {
		
		$this->globalMessage	=
JText::_(RSTicketsProHelper::getConfig('global_message'));
		$this->form				= $this->get('Form');
		$this->params			=
JFactory::getApplication()->getParams('com_rsticketspro');
		$this->advanced         = $this->get('Advanced');
		$this->show_footer		=
RSTicketsProHelper::getConfig('rsticketspro_link');
		$this->footer			= RSTicketsProHelper::getFooter();
		$this->is_staff			= RSTicketsProHelper::isStaff();
		$this->permissions		= RSTicketsProHelper::getCurrentPermissions();
		$this->itemid			= $this->get('itemid');
		
		$this->prepareDocument();

		parent::display($tpl);
	}

	protected function prepareDocument()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}

		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}

		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}
}views/signature/index.html000064400000000054151165235150011702
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/signature/tmpl/default.php000064400000002330151165235150013015
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

if ($this->params->get('show_page_heading', 1))
{
	?>
	<h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
<?php
}

echo JText::_(RSTicketsProHelper::getConfig('global_message'));
?>

<form id="rsticketspro_form" action="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=signature');
?>" method="post" name="signatureForm">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div class="form-actions">
		<button type="submit" class="btn
btn-primary"><?php echo JText::_('RST_UPDATE');
?></button>
	</div>

	<?php
	if ($this->show_footer)
	{
		echo $this->footer;
	}
	?>
	
	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="option"
value="com_rsticketspro" />
	<input type="hidden" name="task"
value="signature.save" />
</form>views/signature/tmpl/default.xml000064400000000300151165235150013021
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_SIGNATURE_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_SIGNATURE_MENU_DESC]]>
		</message>
	</layout>
</metadata>
views/signature/tmpl/index.html000064400000000054151165235150012656
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/signature/view.html.php000064400000004204151165235150012334
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewSignature extends JViewLegacy
{
	public function display($tpl = null)
	{
		$this->canAccess();
		
		$this->form			= $this->get('Form');
		$this->params		=
JFactory::getApplication()->getParams('com_rsticketspro');
		$this->show_footer	=
RSTicketsProHelper::getConfig('rsticketspro_link');
		$this->footer		= RSTicketsProHelper::getFooter();
		
		$this->prepareDocument();

		parent::display($tpl);
	}
	
	protected function prepareDocument()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}

		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}

		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}
	
	protected function canAccess()
	{
		$app	= JFactory::getApplication();
		$user	= JFactory::getUser();
		
		if ($user->get('guest'))
		{
			$app->redirect(JRoute::_('index.php?option=com_users&view=login&return='
. base64_encode((string) JUri::getInstance()), false));
		}
		
		if (!RSTicketsProHelper::isStaff())
		{
           
$app->enqueueMessage(JText::_('RST_CANNOT_CHANGE_SIGNATURE'),
'warning');
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets',
false));
		}
		
		if (!$this->get('isAssigned'))
		{
           
$app->enqueueMessage(JText::_('RST_CANNOT_CHANGE_SIGNATURE_MUST_BE_STAFF'),
'warning');
            $referer =
$app->input->server->get('HTTP_REFERER', '',
'raw');

			if (empty($referer))
			{
				$app->redirect(RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets',
false));
			}
			else
			{
				$app->redirect($referer);
			}
		}
	}
}views/submit/index.html000064400000000054151165235150011204
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/submit/tmpl/default.php000064400000010064151165235150012322
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

JText::script('RST_MAX_UPLOAD_FILES_REACHED');
JText::script('RST_TICKET_ATTACHMENTS');
JText::script('RST_TICKET_ATTACHMENTS_REQUIRED');

$script = '';
foreach ($this->departments as $department)
{
	$upload = $department->upload ? 'true' : 'false';
	$uploadRequired = $department->upload_ticket_required ?
'true' : 'false';
	$uploadMessage = json_encode($department->upload_message);
	$uploadMessageMaxFiles =
json_encode($department->upload_message_max_files);
	$uploadMessageMaxSize =
json_encode($department->upload_message_max_size);

	$script .= "RSTicketsPro.departments[{$department->id}] = {
	id: {$department->id},
	priority: {$department->priority_id},
	uploads: {
		allowed: {$upload},
        required: {$uploadRequired},
		message: {$uploadMessage},
        message_max_files: {$uploadMessageMaxFiles},
        message_max_size: $uploadMessageMaxSize,
		max: {$department->upload_files}
	}
};";
}
$script .= "window.addEventListener('DOMContentLoaded',
function() { RSTicketsPro.changeDepartment() });";

JFactory::getDocument()->addScriptDeclaration($script);

if ($this->params->get('show_page_heading'))
{
	?>
	<h1><?php echo
$this->escape($this->params->get('page_heading'));
?></h1>
	<?php
}
?>
<div class="com-rsticketspro-submit-ticket<?php echo
$this->escape($this->params->get('pageclass_sfx'));
?>">
<?php
echo $this->globalMessage;
echo $this->submitMessage;
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=submit');
?>" method="post" name="adminForm"
id="adminForm" enctype="multipart/form-data"
class="form-horizontal">
<?php
// only staff members with enough permissions
// can select existing users from the database
if ($this->canChangeSubmitType)
{
	echo
$this->form->getField('submit_type')->renderField();
	echo
$this->form->getField('customer_id')->renderField(array('class'
=> 'rst_customer_id_container'));
}
echo
$this->form->getField('email')->renderField(array('class'
=> 'rst_email_container'));
echo
$this->form->getField('name')->renderField(array('class'
=> 'rst_name_container'));

if (!$this->canChangeSubmitType &&
!$this->user->get('id') &&
RSTicketsProHelper::getConfig('allow_password_change'))
{
	echo
$this->form->getField('password')->renderField(array('class'
=> 'rst_password_container'));
}

// alternative email
if ($this->showAltEmail)
{
	echo
$this->form->getField('alternative_email')->renderField(array('class'
=> 'rst_alt_email_container'));
}

// department
echo
$this->form->getField('department_id')->renderField(array('class'
=> 'rst_department_id_container'));

// append the custom fields after the department
foreach ($this->customFields as $customField)
{
	echo $customField;
}

// subject
echo
$this->form->getField('subject')->renderField(array('class'
=> 'rst_subject_container'));

// message
echo
$this->form->getField('message')->renderField(array('class'
=> 'rst_message_container'));

// priority
echo
$this->form->getField('priority_id')->renderField(array('class'
=> 'rst_priority_id_container'));

// prepend the upload message
echo '<div
id="rst_files_message_container"></div>';

// files
echo
$this->form->getField('files')->renderField(array('class'
=> 'rst_files_container'));

// captcha
if ($this->hasCaptcha)
{
	echo
$this->form->getField('captcha')->renderField(array('class'
=> 'rst_captcha_container'));
}

if ($this->hasConsent)
{
	echo
$this->form->getField('consent')->renderField(array('class'
=> 'rst_consent_container'));
}
?>
	<div>
		<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('submit.save'); this.disabled =
true;"><?php echo JText::_('RST_SUBMIT');
?></button>
	</div>

	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="task" value=""
/>
</form>
</div>views/submit/tmpl/default.xml000064400000001273151165235150012335
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_SUBMIT_TICKETS_LAYOUT">
		<message>
			<![CDATA[RST_SUBMIT_TICKETS_MENU_DESC]]>
		</message>
	</layout>
	<config>
		<fields name="params"
addfieldpath="/administrator/components/com_rsticketspro/models/fields">
			<fieldset name="basic">
				<field name="department_id" type="departments"
please="true" default="0"
label="RST_DEPARTMENT_ID"
description="RST_DEPARTMENT_ID_DESC" />
				<field name="message" type="textarea"
filter="raw" rows="12" cols="50"
default="" label="COM_RSTICKETSPRO_DEFAULT_MESSAGE"
description="COM_RSTICKETSPRO_DEFAULT_MESSAGE_DESC" />
			</fieldset>
		</fields>
	</config>
</metadata>
views/submit/tmpl/index.html000064400000000054151165235150012160
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/submit/view.html.php000064400000006435151165235150011646
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewSubmit extends JViewLegacy
{
	public function display($tpl = null)
	{
		$app = JFactory::getApplication();

		if (!$this->canView())
		{
			$app->enqueueMessage(JText::_('RST_CANNOT_SUBMIT_TICKET'),
'warning');
			$app->redirect(RSTicketsProHelper::route('index.php?option=com_users&view=login&return='
. base64_encode((string) JUri::getInstance()), false));
		}

		$this->globalMessage       =
JText::_(RSTicketsProHelper::getConfig('global_message'));
		$this->submitMessage       =
JText::_(RSTicketsProHelper::getConfig('submit_message'));
		$this->form                = $this->get('Form');
		$this->departments         = $this->get('Departments');
		$this->customFields        = $this->get('CustomFields');
		$this->user                = JFactory::getUser();
		$this->permissions         = $this->get('Permissions');
		$this->isStaff             = RSTicketsProHelper::isStaff();
		$this->canChangeSubmitType = $this->isStaff &&
$this->permissions &&
($this->permissions->add_ticket_customers ||
$this->permissions->add_ticket_staff);
		$this->hasCaptcha          = $this->get('HasCaptcha');
		$this->captchaType		   =
RSTicketsProHelper::getConfig('captcha_enabled');
		$this->hasConsent		   =
RSTicketsProHelper::getConfig('forms_consent');
		$this->showAltEmail        =
RSTicketsProHelper::getConfig('show_alternative_email');
		$this->params              = $app->getParams();

		$this->prepareDocument();

		parent::display($tpl);
	}

	protected function prepareDocument()
	{
		$app   = JFactory::getApplication();
		$menus = $app->getMenu();
		$title = null;

		// Because the application sets a default page title,
		// we need to get it from the menu item itself
		$menu = $menus->getActive();
		if ($menu)
		{
			$this->params->def('page_heading',
$this->params->get('page_title', $menu->title));
		}
		else
		{
			$this->params->def('page_heading',
JText::_('RST_ADD_NEW_TICKET'));
		}

		$title = $this->params->get('page_title', '');
		if (empty($title))
		{
			$title = $app->get('sitename');
		}
		elseif ($app->get('sitename_pagetitles', 0) == 1)
		{
			$title = JText::sprintf('JPAGETITLE',
$app->get('sitename'), $title);
		}
		elseif ($app->get('sitename_pagetitles', 0) == 2)
		{
			$title = JText::sprintf('JPAGETITLE', $title,
$app->get('sitename'));
		}
		$this->document->setTitle($title);

		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}

		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}

		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}

	protected function canView()
	{
		$canAddTickets =
RSTicketsProHelper::getConfig('rsticketspro_add_tickets');
		$guest         = JFactory::getUser()->get('guest');

		if (!$canAddTickets && $guest)
		{
			return false;
		}

		return true;
	}
}views/ticket/index.html000064400000000054151165235150011164
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/ticket/metadata.xml000064400000000130151165235150011464
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/ticket/tmpl/default.php000064400000005436151165235150012311
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
JText::script('COM_RSTICKETSPRO_TIME_BUTTON_CONFIRM_START');

if ($this->globalMessage)
{
	?>
	<div class="<?php echo RsticketsproAdapterGrid::row();
?>" id="ticket-global-message">
		<?php echo $this->globalMessage; ?>
	</div>
	<?php
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=ticket');
?>" method="post" name="adminForm"
id="adminForm" enctype="multipart/form-data"
autocomplete="off">
	<?php
	if ($this->ticketView == 'plain' || $this->isPrint)
	{
		?>
		<div class="<?php echo RsticketsproAdapterGrid::row();
?>">
			<div class="<?php echo RsticketsproAdapterGrid::column(7);
?>" id="ticket-left-column">
				<?php
				$this->plain->addTitle(JText::_('RST_MESSAGES'),
'messages');
				$this->plain->addContent($this->loadTemplate('messages'));
				$this->plain->render();

				$this->plain->remove(0);
				?>
			</div>
			<div class="<?php echo RsticketsproAdapterGrid::column(5);
?>" id="ticket-right-column">
				<?php
				foreach ($this->ticketSections as $layout => $title)
				{
					if ($layout == 'messages' || ($layout ==
'custom_fields' && empty($this->ticket->fields)))
					{
						continue;
					}

					// add the title
					$this->plain->addTitle($title, $layout);

					$content = $this->loadTemplate($layout);

					// add the content
					$this->plain->addContent($content);
				}

				// allow plugins to inject content here
				RSTicketsProHelper::trigger('onAfterTicketInformation',
array($this->ticket, $this->plain));

				// render the plain view
				$this->plain->render();
				?>
			</div>
		</div>
		<?php
	}
	else
	{
		foreach ($this->ticketSections as $layout => $title)
		{
			if (empty($this->ticket->fields) && $layout ==
'custom_fields')
			{
				continue;
			}

			$this->handler->addTitle($title, $layout);
			$this->handler->addContent($this->loadTemplate($layout));
		}

		RSTicketsProHelper::trigger('onAfterTicketInformation',
array($this->ticket, $this->handler));

		$this->handler->render();
	}

	echo JHtml::_('form.token');
	?>
	<input type="hidden" name="id" value="<?php
echo $this->ticket->id; ?>" />
	<input type="hidden" name="cid"
value="<?php echo $this->ticket->id; ?>" />
	<input type="hidden" name="task" value=""
/>
	<input type="hidden" name="option"
value="com_rsticketspro" />
</form>views/ticket/tmpl/default_custom_fields.php000064400000001245151165235150015223
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

foreach ($this->ticket->fields as $field)
{
	echo RSTicketsProHelper::showCustomField($field, array(),
!empty($this->permissions->update_ticket_custom_fields));
}

if (!empty($this->permissions->update_ticket_custom_fields))
{
	?>
	<p><button type="button"
onclick="Joomla.submitbutton('ticket.updatefields')"
class="btn btn-primary"><?php echo
JText::_('RST_UPDATE'); ?></button></p>
	<?php
}views/ticket/tmpl/default_history.php000064400000002554151165235150014070
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

if ($this->otherTickets)
{
	?>
	<table class="table table-striped">
		<thead>
		<tr>
			<th><?php echo JText::_('RST_TICKET_CODE'); ?>
<?php echo JText::_('RST_TICKET_SUBJECT'); ?></th>
			<th><?php echo JText::_('RST_TICKET_STATUS');
?></th>
			<th><?php echo JText::_('RST_TICKET_REPLIES');
?></th>
			<th><?php echo JText::_('RST_TICKET_DATE');
?></th>
		</tr>
		</thead>
		<tbody>
		<?php
		foreach ($this->otherTickets as $ticket)
		{
			?>
			<tr>
				<td><a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket->id); ?>" title="<?php echo
$this->escape($ticket->subject); ?>">[<?php echo
$this->escape($ticket->code); ?>] <?php echo
$this->escape($ticket->subject); ?></a></td>
				<td><?php echo JText::_($ticket->status_name);
?></td>
				<td><?php echo
JText::sprintf('RST_TICKET_REPLIES_NUM', $ticket->replies);
?></td>
				<td><?php echo JHtml::_('date', $ticket->date,
$this->dateFormat); ?></td>
			</tr>
			<?php
		}
		?>
		</tbody>
	</table>
	<?php
}
else
{
	?>
	<p><?php echo JText::_('RST_NO_TICKET_HISTORY');
?></p>
	<?php
}views/ticket/tmpl/default_info.php000064400000002515151165235150013317
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

echo '<div class="form-horizontal">';

// subject
echo $this->form->getField('subject')->renderField();

// department
echo
$this->form->getField('department_id')->renderField();
echo '<input type="hidden"
name="hidden_department_id" value="' .
$this->escape(JText::_($this->ticket->department->name)) .
'">';

// date
echo $this->form->getField('date')->renderField();

// status
echo $this->form->getField('status_id')->renderField();

// code
echo $this->form->getField('code')->renderField();

// priority
echo
$this->form->getField('priority_id')->renderField();

// staff
echo $this->form->getField('staff_id')->renderField();

// customer
echo
$this->form->getField('customer_id')->renderField();

// alternative email
if ($this->showAltEmail)
{
	echo
$this->form->getField('alternative_email')->renderField();
}

if (!empty($this->permissions->update_ticket))
{
	?>
	<button type="button"
onclick="Joomla.submitbutton('ticket.updateinfo')"
class="btn btn-primary"><?php echo
JText::_('RST_UPDATE'); ?></button>
	<?php
}

echo
'</div>';views/ticket/tmpl/default_messages.php000064400000014210151165235150014166
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

if (!$this->isPrint)
{
	echo $this->loadTemplate('reply');
}
?>
	<h3 class="rst_heading"><?php echo
JText::_('RST_CONVERSATION'); ?></h3>
	<div class="row-fluid com-rsticketspro-has-top-margin"
id="ticket-buttons">
		<?php
		if (!$this->isPrint)
		{
			if ($this->canViewHistory)
			{
				echo
RSTicketsProHelper::renderModal('rsticketsproHistoryModal',
array(
					'title' =>
JText::_('RST_TICKET_VIEW_HISTORY'),
					'url' 	=>
JRoute::_('index.php?option=com_rsticketspro&view=history&id='.$this->ticket->id.'&tmpl=component',
false),
					'height' => 400,
					'backdrop' => 'static'));
				?>
				<a href="#" class="btn btn-secondary"
onclick="<?php echo
RSTicketsProHelper::openModal('rsticketsproHistoryModal');
?>"><i class="icon-calendar"></i> <?php
echo JText::_('RST_TICKET_VIEW_HISTORY'); ?></a>
				<?php
			}
			if ($this->canViewNotes)
			{
				echo
RSTicketsProHelper::renderModal('rsticketsproNotesModal', array(
					'title'    =>
JText::_('RST_TICKET_VIEW_NOTES'),
					'url' 	   =>
JRoute::_('index.php?option=com_rsticketspro&view=notes&ticket_id='.$this->ticket->id.'&tmpl=component',
false),
					'height'   => 400,
					'backdrop' => 'static'));
				?>
				<a href="#" class="btn btn-secondary"
onclick="<?php echo
RSTicketsProHelper::openModal('rsticketsproNotesModal');
?>"><i class="icon-file"></i> <?php
echo $this->ticket->notes ?
JText::sprintf('RST_TICKET_VIEW_NOTES_NO',
$this->ticket->notes) : JText::_('RST_TICKET_VIEW_NOTES');
?></a>
				<?php
			}
			?>
			<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='.$this->ticket->id.'&tmpl=component&print=1');
?>" class="btn btn-secondary"
onclick="window.open(this.href,'printWindow','status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=400,height=600,directories=no,location=no');
return false;"><i class="icon-print"></i>
<?php echo JText::_('RST_TICKET_PRINT'); ?></a>
			<?php
			if ($this->ticket->status_id == RST_STATUS_CLOSED &&
$this->canOpenTicket)
			{
				?>
				<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.reopen&id='.$this->ticket->id);
?>" class="btn btn-success"><i
class="icon-ok"></i> <?php echo
JText::_('RST_TICKET_OPEN'); ?></a>
				<?php
			}
			elseif ($this->ticket->status_id != RST_STATUS_CLOSED &&
$this->canCloseTicket)
			{
				?>
				<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.close&id='.$this->ticket->id);
?>" class="btn btn-danger"><i
class="icon-lock"></i> <?php echo
JText::_('RST_TICKET_CLOSE'); ?></a>
				<?php
			}
		}
		else
		{
			?>
			<a href="javascript:void(0)"
onclick="window.print();" class="btn
btn-primary"><i class="icon-print"></i>
<?php echo JText::_('RST_TICKET_PRINT'); ?></a>
			<?php
		}
		?>
	</div>
<?php
foreach ($this->ticketMessages as $message)
{
	$user = $message->user_id != '-1' ?
JFactory::getUser($message->user_id) : null;
	$submitter = $message->submitted_by_staff != '0' ?
JFactory::getUser($message->submitted_by_staff) : null;
	?>
	<div class="media com-rsticketspro-message<?php echo
is_null($user) ? ' alert alert-info' :
(RSTicketsProHelper::isStaff($message->user_id) ? '
com-rsticketspro-msg-staff': '
com-rsticketspro-msg-customer'); ?>">
		<?php
		if (!is_null($user))
		{
			?>
			<span class="pull-left">
				<img class="img-polaroid media-object
com-rsticketspro-avatar" src="<?php echo
$this->getAvatar($message->user_id); ?>" />
			</span>
			<?php
		}
		?>
		<div class="media-body">
			<?php
			if (!is_null($user))
			{
				if ($this->showEmailLink)
				{
					$text = JHtml::_('link', 'mailto:' .
$this->escape($user->email),
$this->escape($user->{$this->userField}));
				}
				else
				{
					$text = $this->escape($user->{$this->userField});
				}

				?>
				<h4 class="media-heading"><?php echo $text;
?><?php echo $submitter ? ' ' .
JText::sprintf('RST_TICKET_SUBMITTED_BY', $submitter->name) :
''; ?></h4>
				<?php
			}
			?>
			<p><small><i class="icon-clock"></i>
<?php echo $this->showDate($message->date);
?></small></p>
			<blockquote class="com-rsticketspro-has-overflow">
				<?php echo RSTicketsProHelper::showMessage($message); ?>
			</blockquote>
			<?php
			if (!empty($message->files))
			{
				?>
				<ul>
					<?php
					foreach ($message->files as $file)
					{
						?>
						<li><i class="icon-file"></i> <a
href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.downloadfile&id='.$file->id);
?>"><?php echo
JText::sprintf('RST_TICKET_FILE_DOWNLOADS_SMALL',
$this->escape($file->filename), $file->downloads);
?></a></li>
						<?php
					}
					?>
				</ul>
				<?php
			}
			if (!$this->isPrint && !is_null($user))
			{
				?>
				<div>
					<?php
					if ($this->canEditMessage($message))
					{
						echo
RSTicketsProHelper::renderModal('rsticketsproMessageModal' .
$message->id, array(
							'title'    =>
JText::_('RST_TICKET_EDIT_MESSAGE'),
							'url' 	   =>
JRoute::_('index.php?option=com_rsticketspro&task=ticketmessage.edit&id='.$message->id.'&tmpl=component',
false),
							'height'   => 400,
							'backdrop' => 'static'));
						?>
						<a class="btn btn-secondary" onclick="<?php echo
RSTicketsProHelper::openModal('rsticketsproMessageModal' .
$message->id); ?>" href="#"><i
class="icon-edit"></i> <?php echo
JText::_('RST_TICKET_EDIT_MESSAGE'); ?></a>
						<?php
					}
					if ($this->canDeleteMessage($message))
					{
						?>
						<a class="btn btn-danger" onclick="return
confirm(Joomla.JText._('RST_DELETE_TICKET_MESSAGE_CONFIRM'));"
href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticketmessages.delete&cid='.$message->id
. '&ticket_id=' . $message->ticket_id . '&'
. JSession::getFormToken() . '=1'); ?>"><i
class="icon-delete"></i> <?php echo
JText::_('RST_TICKET_DELETE_MESSAGE'); ?></a>
						<?php
					}
					?>
				</div>
				<?php
			}
			?>
		</div>
	</div>
	<?php
}
views/ticket/tmpl/default_reply.php000064400000006611151165235160013521
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JText::script('RST_TICKET_FEEDBACK_SENT');

$showReply = $this->form->getValue('message');

if ($this->ticket->status_id == RST_STATUS_CLOSED)
{
	?>
	<p><strong><?php echo
JText::_('RST_TICKET_REPLIES_CLOSED');
?></strong></p>
	<?php
	if ($this->allowVoting && (($this->isStaff &&
$this->ticket->feedback) || !$this->isStaff))
	{
		$ratyParams = array(
			'path' => str_replace('star-on.png',
'', JHtml::_('image',
'com_rsticketspro/raty/star-on.png', '', array(), true,
1)),
			'score' => $this->ticket->feedback ?
$this->ticket->feedback : null,
			'readOnly' => $this->isStaff ||
$this->ticket->feedback,
			'hints' => array(
				JText::_('RST_FEEDBACK_1'),
				JText::_('RST_FEEDBACK_2'),
				JText::_('RST_FEEDBACK_3'),
				JText::_('RST_FEEDBACK_4'),
				JText::_('RST_FEEDBACK_5')
			)
		);

		$script = 'RSTicketsPro.initRaty(' . json_encode($ratyParams) .
')';

		JFactory::getDocument()->addScriptDeclaration($script);
		?>
		<p id="com-rsticketspro-rated-message"><?php echo
JText::_($this->ticket->feedback ? ($this->isStaff ?
'RST_TICKET_FEEDBACK_SENT_STAFF' :
'RST_TICKET_FEEDBACK_SENT') : 'RST_TICKET_FEEDBACK');
?></p>
		<div id="star"></div>
		<?php
	}
}
else
{
	if ($this->canReply)
	{
		if (!$showReply)
		{
			?>
			<p><button type="button" class="btn btn-primary
btn-large" id="com-rsticketspro-reply-button"
onclick="RSTicketsPro.showReply(this);"><?php echo
JText::_('RST_TICKET_REPLY'); ?></button></p>
			<?php
		}
		?>
		<div id="com-rsticketspro-reply-box" <?php if
(!$showReply) { ?>class="hidden"<?php } ?>>
			<h3 class="rst_heading"><?php echo
JText::_('RST_REPLY_TO_TICKET'); ?></h3>
			<?php
			if ($this->isStaff &&
RSTicketsProHelper::getConfig('show_reply_as_customer'))
			{
				echo
$this->form->getField('reply_as_customer')->renderField();
			}

			if ($this->isStaff && $this->showSearch)
			{
				echo
$this->form->getField('search')->renderField();
			}

			echo
$this->form->getField('message')->renderField();

			if ($this->isStaff && $this->showSignature)
			{
				echo
$this->form->getField('use_signature')->renderField();

				echo '<p><small><a
href="'.JRoute::_('index.php?option=com_rsticketspro&view=signature').'">'.JText::_('RST_EDIT_SIGNATURE').'</a></small></p>';
			}

			if ($this->canUpload)
			{
				$script = "RSTicketsPro.getDepartment = function() { return { id:
{$this->ticket->department_id}, uploads: { max:
{$this->department->upload_files} } }; }";
				JFactory::getDocument()->addScriptDeclaration($script);

				// prepend the upload message
				echo '<div id="rst_files_message_container">'
. $this->department->upload_message . ' ' .
$this->department->upload_message_max_files . ' ' .
$this->department->upload_message_max_size .
'</div>';
				echo
$this->form->getField('files')->renderField(array('class'
=> 'rst_files_container'));
			}

			if ($this->hasConsent)
			{
				echo
$this->form->getField('consent')->renderField();
			}
			?>
			<p><button type="button"
onclick="Joomla.submitbutton('ticket.reply')"
class="btn btn-primary"><?php echo
JText::_('RST_TICKET_SUBMIT'); ?></button></p>

			<hr />
		</div>
		<?php
	}
}views/ticket/tmpl/default_submitter.php000064400000002477151165235160014412
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access'); ?>
<div>
	<p><span title="<?php echo
RSTicketsProHelper::tooltipText(JText::_('RST_TICKET_USER_AGENT'));
?>" class="<?php echo
RSTicketsProHelper::tooltipClass();?>"><i
class="icon-cogs icon-rscogs"></i> <?php echo
$this->escape($this->ticket->agent); ?></span></p>
	<p><span title="<?php echo
RSTicketsProHelper::tooltipText(JText::_('RST_TICKET_REFERER'));
?>" class="<?php echo
RSTicketsProHelper::tooltipClass();?>"><i
class="icon-refresh icon-rsrefresh"></i> <?php echo
$this->escape($this->ticket->referer);
?></span></p>
	<p><span title="<?php echo
RSTicketsProHelper::tooltipText(JText::_('RST_TICKET_IP'));
?>" class="<?php echo
RSTicketsProHelper::tooltipClass();?>"><i
class="icon-broadcast icon-rsbroadcast"></i> <?php
echo $this->escape($this->ticket->ip);
?></span></p>
	<p><span title="<?php echo
RSTicketsProHelper::tooltipText(JText::_('RST_TICKET_LOGGED'));
?>" class="<?php echo
RSTicketsProHelper::tooltipClass();?>"><i
class="icon-user icon-rsuser"></i> <?php echo
$this->ticket->logged ? JText::_('JYES') :
JText::_('JNO'); ?></span></p>
</div>views/ticket/tmpl/default_time.php000064400000011306151165235160013321
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JText::script('COM_RSTICKETSPRO_ARE_YOU_SURE_YOU_WANT_TO_CLEAR_TIME_TRACKING');
JText::script('COM_RSTICKETSPRO_ARE_YOU_SURE_YOU_WANT_TO_DELETE_TIME_TRACKING_RECORD');

if ($this->timeSpentTracking)
{
	if ($this->useTimeCounter)
	{
		?>
		<div class="<?php echo RsticketsproAdapterGrid::row();
?>" id="rst-timer">
			<div class="<?php echo RsticketsproAdapterGrid::column(12);
?>">
				<?php
				if ($this->ticketTimeState)
				{
					?>
					<div id="timer">
						<div class="clock-wrapper">
							<span class="hours">00</span>
							<span class="dots">:</span>
							<span class="minutes">00</span>
							<span class="dots">:</span>
							<span class="seconds">00</span>
						</div>
					</div>
					<?php
				}
				?>
			</div>
		</div>
		<?php
	}

	if ($this->useTimeCounter || (!empty($this->ticketIntervals)
&& $this->canDeleteTimeHistory))
	{
		?>
		<p>
			<?php
			if ($this->useTimeCounter)
			{
				?>
				<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.toggleTime&id='.$this->ticket->id.'&tstate='.($this->ticketTimeState
== 1 ? 0 : 1)); ?>"<?php echo ($this->ticketTimeState == 0 ?
' onclick="return
confirm(Joomla.JText._(\'COM_RSTICKETSPRO_TIME_BUTTON_CONFIRM_START\'));"'
: '');?> class="btn btn-<?php echo
($this->ticketTimeState ? 'danger' :
'success');?>"><?php echo
JText::_('COM_RSTICKETSPRO_TIME_BUTTON'.($this->ticketTimeState
? '_STOP' : '_START'));?></a>
				<?php
			}

			if (!empty($this->ticketIntervals) &&
$this->canDeleteTimeHistory)
			{
				?>
				<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.clearTimeTracking&id='.$this->ticket->id);
?>" class="btn btn-danger" onclick="return
confirm(Joomla.JText._('COM_RSTICKETSPRO_ARE_YOU_SURE_YOU_WANT_TO_CLEAR_TIME_TRACKING'));"><?php
echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_CLEAR');?></a>
				<?php
			}
			?>
		</p>
		<?php
	}

	if (!empty($this->ticketIntervals))
	{
		?>
		<table class="table table-bordered table-condensed
table-hover">
			<thead>
			<tr>
				<th><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_START');?></th>
				<th><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_END');?></th>
				<th><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_DURATION');?></th>
				<th><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_STAFF_MEMBER');?></th>
				<th>&nbsp;</th>
			</tr>
			</thead>
			<tbody>
			<?php
			$total = 0;
			foreach ($this->ticketIntervals as $interval)
			{
				$is_running = $interval->end == '0000-00-00 00:00:00';
				$total += $interval->duration;
				?>
				<tr class="<?php echo ($is_running ? 'error' :
'success');?>">
					<td>
						<?php echo $this->showDate($interval->start);?>
					</td>
					<td>
						<?php echo ($is_running ?
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_TRACKING') :
$this->showDate($interval->end));?>
					</td>
					<td>
						<?php echo $this->showTotal($interval->duration);?>
					</td>
					<td>
						<?php echo !empty($interval->staff_member) ?
$interval->staff_member : ''; ?>
					</td>
					<td class="center">
						<?php
						if ($interval->can_delete && !$is_running)
						{
							?>
							<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.clearTimeTrackingEntry&ticket_id='.$this->ticket->id.'&entry='.$interval->id);
?>" onclick="return
confirm(Joomla.JText._('COM_RSTICKETSPRO_ARE_YOU_SURE_YOU_WANT_TO_DELETE_TIME_TRACKING_RECORD'));"
class="btn btn-small btn-danger" ><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_HISTORY_RECORD_DELETE');
?></a>
							<?php
						}
						?>
					</td>
				</tr>
				<?php
			}
			?>
			</tbody>
			<tfoot>
			<tr>
				<td colspan="2"><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_TOTAL');
?></td>
				<td colspan="3"><?php echo
$this->showTotal($total); ?></td>
			</tr>
			</tfoot>
		</table>
		<?php
	}
	else
	{
		?>
		<div class="alert alert-warning"><?php echo
JText::_('COM_RSTICKETSPRO_TIME_TRACKING_NO_HISTORY_ENTRIES');
?></div>
		<?php
	}
}

if ($this->timeSpentInput)
{
	$this->form->setFieldAttribute('time_spent',
'description',
JText::_('RST_TIME_UNIT_'.RSTicketsProHelper::getConfig('time_spent_unit')));
	echo
$this->form->getField('time_spent')->renderField();
	?>
	<button type="button"
onclick="Joomla.submitbutton('ticket.savetimespent')"
class="btn btn-primary"><?php echo
JText::_('RST_UPDATE'); ?></button>
	<?php
}views/ticket/tmpl/index.html000064400000000054151165235160012141
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/ticket/view.html.php000064400000000555151165235160011624
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/views/ticket/view.html.php';views/ticketmessage/index.html000064400000000054151165235160012532
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/ticketmessage/metadata.xml000064400000000130151165235170013033
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/ticketmessage/tmpl/default.php000064400000002154151165235170013652
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=ticketmessage&tmpl=component&layout=edit&id='
. (int) $this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-vertical">
	<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('ticketmessage.apply');"><i
class="icon-apply icon-white"></i> <?php echo
JText::_('JAPPLY'); ?></button>
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>

	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="task" value=""
/>
</form>views/ticketmessage/tmpl/index.html000064400000000054151165235170013507
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/ticketmessage/view.html.php000064400000000564151165235170013172
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/views/ticketmessage/view.html.php';views/tickets/index.html000064400000000054151165235170011351
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/tickets/tmpl/default.php000064400000031212151165235170012465
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

if ($this->isStaff)
{
	JHtml::_('script', 'com_rsticketspro/tickets.js',
array('relative' => true, 'version' =>
'auto'));
}

JText::script('RST_DELETE_TICKETS_CONFIRM');
JText::script('RST_DELETE_TICKET_CONFIRM');

$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));

$script = array();
$script[] = 'Joomla.submitbutton = function(task) {';

if (!empty($this->permissions->delete_ticket))
{
	$script[] = "if
(document.getElementById('bulk_delete').value == '1'
&&
!confirm(Joomla.JText._('RST_DELETE_TICKETS_CONFIRM'))) {";
	$script[] = 'return false;';
	$script[] = '}';
}

if (!empty($this->permissions->export_tickets))
{
	$script[] = "RSTicketsPro.exportCSV.totalItems =
{$this->totalItems};";
	$script[] = "if (task === 'tickets.exportcsv') {";
	$script[] = "RSTicketsPro.exportCSV.setCSV(0, '');";
	$script[] = "return false;";
	$script[] = "}";

	JHtml::_('script', 'com_rsticketspro/export.js',
array('relative' => true, 'version' =>
'auto'));
}

$script[] = "Joomla.submitform(task,
document.getElementById('adminForm'));";
$script[] = "}";

JFactory::getDocument()->addScriptDeclaration(implode("\n",
$script));

if ($this->params->get('show_page_heading', 1))
{
	?><h1><?php echo
$this->escape($this->params->get('page_heading',
$this->params->get('page_title'))); ?></h1>
<?php
}

echo $this->globalMessage;

if ($this->isSearching || ($this->isStaff &&
$this->hasSearches))
{
	?>
	<div class="well well-small">
		<p>
			<?php
			if ($this->isSearching)
			{
				if ($this->isStaff)
				{
					?>
					<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=predefinedsearch.add');
?>" class="btn btn-success rst_search"><?php echo
JText::_('RST_SAVE_SEARCH'); ?></a>
					<?php
				}
				?>
				<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=resetsearch');
?>" class="btn btn-danger"><?php echo
JText::_('RST_RESET_SEARCH'); ?></a>
				<?php
			}
			if ($this->isStaff && $this->hasSearches)
			{
				?>
				<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=predefinedsearches');
?>" class="btn btn-secondary
rst_manage_searches"><?php echo
JText::_('RST_MANAGE_SEARCHES'); ?></a>
				|
				<?php
				foreach ($this->searches as $search)
				{
					if (!$search->current)
					{
						?>
						<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=predefinedsearch.perform&id='.$search->id);
?>" class="btn btn-secondary btn-mini btn-sm <?php echo
RSTicketsProHelper::tooltipClass();?>" title="<?php echo
RSTicketsProHelper::tooltipText(JText::sprintf('RST_SEARCH_CLICK_DESC',
$this->escape($search->name))); ?>"><?php echo
$this->escape($search->name); ?></a>
						<?php
					}
					else
					{
						echo $this->escape($search->name);
					}
				}
			}
			?>
		</p>
	</div>
	<?php
}
?>
<div class="clearfix"></div>

<form action="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=tickets');
?>" method="post" name="adminForm"
id="adminForm">
	<?php if ($this->isStaff &&
!empty($this->permissions->export_tickets)) { ?>
		<div class="com-rsticketspro-progress"
id="com-rsticketspro-export-progress"
style="display:none">
			<div class="com-rsticketspro-bar" style="width:
0%;">0%</div>
		</div>
		<p>
			<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('tickets.exportcsv');"><?php
echo JText::_('COM_RSTICKETSPRO_EXPORT');?></button>
		</p>
	<?php } ?>
<?php if ($this->isStaff) { ?>
	<div id="bulk_actions" style="display: none;">
		<p><strong><?php echo
JText::_('RST_BULK_ACTIONS'); ?></strong></p>
		<?php
		if ($this->permissions->move_ticket)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_department_id')->input .
'</div>';
		}
		if ($this->permissions->assign_tickets)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_staff_id')->input .
'</div>';
		}
		if ($this->permissions->update_ticket)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_priority_id')->input .
'</div>';
		}
		if ($this->permissions->change_ticket_status)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_status_id')->input .
'</div>';
		}
		if ($this->autocloseEnabled)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_notify')->input .
'</div>';
		}
		if ($this->permissions->delete_ticket)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_delete')->input .
'</div>';
		}
		?>

		<p>
			<button type="button" id="rst_update_button"
class="btn btn-primary"
onclick="Joomla.submitbutton('ticket.bulkupdate');"><?php
echo JText::_('RST_UPDATE'); ?></button>
		</p>
	</div>
<?php } ?>

<table class="adminlist table table-striped table-condensed
table-hover">
<?php
if ($this->params->get('show_headings', 1))
{
	?>
	<thead>
		<tr>
		<?php
		if ($this->params->get('show_offset', 1))
		{
			?>
			<th id="rst_head_item_no" width="1%"
class="hidden-phone hidden-tablet"><?php echo
JText::_('#'); ?></th>
			<?php
		}
		
		if ($this->isStaff)
		{
			?>
			<th id="rst_head_check_all" class="center"
width="1%">
				<?php echo JHtml::_('grid.checkall'); ?>
			</th>
			<?php
		}
			
		if ($this->params->get('show_date', 1))
		{
			?>
			<th id="rst_head_date" nowrap="nowrap"
class="center hidden-phone">
				<?php echo JHtml::_('grid.sort',
'RST_TICKET_DATE', 'date', $listDirn, $listOrder,
'none'); ?>
			</th>
			<?php
		}
		
		if ($this->params->get('show_last_reply', 1))
		{
			?>
			<th id="rst_head_last_reply" nowrap="nowrap"
class="center hidden-phone hidden-tablet">
				<?php echo JHtml::_('grid.sort',
'RST_TICKET_LAST_REPLY', 'last_reply', $listDirn,
$listOrder, 'none'); ?>
			</th>
			<?php
		}
			
		if ($this->isStaff)
		{
			?>
			<th id="rst_head_flag" nowrap="nowrap"
width="1%" class="center hidden-phone
hidden-tablet">
				<?php echo JText::_('RST_FLAGGED'); ?>
			</th>
			<?php
			if ($this->permissions->delete_ticket)
			{
				?>
				<th id="rst_head_delete" nowrap="nowrap"
class="center" width="5%">
					<?php echo JText::_('RST_DELETE'); ?>
				</th>
			<?php
			}
		}
		?>
			<th id="rst_head_ticket_code" nowrap="nowrap"
class="center">
			<?php
			if ($this->params->get('show_code', 1))
			{
				echo JHtml::_('grid.sort', 'RST_TICKET_CODE',
'code', $listDirn, $listOrder, 'none');
			}

			echo JHtml::_('grid.sort', 'RST_TICKET_SUBJECT',
'subject', $listDirn, $listOrder, 'none');
			?>
			</th>
			
			<?php
			if ($this->params->get('show_customer', 1))
			{
				?>
				<th id="rst_head_customer" nowrap="nowrap"
class="center">
					<?php echo JHtml::_('grid.sort',
'RST_TICKET_CUSTOMER', 'customer', $listDirn,
$listOrder, 'none'); ?>
				</th>
				<?php
			}

			if ($this->params->get('show_priority', 1))
			{
				?>
				<th id="rst_head_priority" nowrap="nowrap"
width="1%" class="center hidden-phone">
					<?php echo JHtml::_('grid.sort',
'RST_TICKET_PRIORITY', 'priority', $listDirn,
$listOrder, 'none'); ?>
				</th>
				<?php
			}
			
			if ($this->params->get('show_status', 1))
			{
				?>
				<th id="rst_head_status" nowrap="nowrap"
width="1%" class="center hidden-phone">
					<?php echo JHtml::_('grid.sort',
'RST_TICKET_STATUS', 'status', $listDirn, $listOrder,
'none'); ?>
				</th>
				<?php
			}
			
			if ($this->params->get('show_staff', 1))
			{
				?>
				<th id="rst_head_sort" nowrap="nowrap"
class="center hidden-phone hidden-tablet">
					<?php echo JHtml::_('grid.sort',
'RST_TICKET_STAFF', 'staff', $listDirn, $listOrder,
'none'); ?>
				</th>
				<?php
			}

			if ($this->params->get('show_time_spent', 0) &&
RSTicketsProHelper::getConfig('enable_time_spent'))
			{
				?>
				<th id="rst_head_sort" nowrap="nowrap"
class="center hidden-phone hidden-tablet">
					<?php echo JHtml::_('grid.sort',
'RST_TIME_SPENT', 'time_spent', $listDirn, $listOrder,
'none'); ?>
				</th>
				<?php
			}
			?>
		</tr>
	</thead>
	<?php
}
?>
	<tbody>
		<?php
		foreach ($this->items as $i => $item)
		{
			?>
			<tr class="rst_priority_color_<?php echo
$item->priority_id; ?>">
				<?php if ($this->params->get('show_offset', 1)) {
?>
				<td width="1%" class="rst_cell_item_no center
hidden-phone hidden-tablet"><?php echo
$this->pagination->getRowOffset($i); ?></td>
				<?php } ?>

				<?php if ($this->isStaff) { ?>
				<td class="rst_cell_checkbox center"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
				<?php } ?>

				<?php if ($this->params->get('show_date', 1)) {
?>
				<td class="rst_cell_date center hidden-phone"><?php
echo $this->escape($this->showDate($item->date));
?></td>
				<?php } ?>

				<?php if ($this->params->get('show_last_reply', 1))
{ ?>
				<td class="rst_cell_last_reply center hidden-phone
hidden-tablet"><?php echo
$this->escape($this->showDate($item->last_reply));
?></td>
				<?php } ?>

				<?php if ($this->isStaff) { ?>
				<td class="rst_cell_flag center hidden-phone
hidden-tablet"><button type="button" class="btn
btn-small btn-sm <?php echo $item->flagged ? 'rst_flagged'
: 'rst_not_flagged'; ?>"
onclick="RSTicketsPro.flagTicket('index.php', this,
'<?php echo $item->id; ?>');"><i
class="rsticketsproicon-star"></i></button></td>

				<?php if ($this->permissions->delete_ticket) { ?>
				<td class="rst_cell_delete_ticket center">
					<a class="btn btn-small btn-sm btn-danger
rst_button_delete_ticket <?php echo
RSTicketsProHelper::tooltipClass();?>" title="<?php echo
RSTicketsProHelper::tooltipText(JText::_('RST_TICKET_DELETE_DESC'));
?>" href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=ticket.delete&cid='
. $item->id); ?>" onclick="return
confirm(Joomla.JText._('RST_DELETE_TICKET_CONFIRM'));">&#10006;</a>
				</td>
				<?php } ?>

				<?php } ?>

				<td class="rst_cell_subject">
					<?php if ($item->has_files) { ?>
						<i class="rsticketsproicon-attach"></i>
					<?php } ?>
					<?php if ($this->params->get('show_code', 1)) {
?>
					<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=ticket&id='.$item->id.':'.JFilterOutput::stringURLSafe($item->subject));
?>"><?php echo $item->code; ?></a>
					<?php if ($this->params->get('show_replies', 1)) {
?>
						(<?php echo $item->replies; ?>)
					<?php } ?>
					<br />
					<?php } ?>
					<a href="<?php echo
RSTicketsProHelper::route('index.php?option=com_rsticketspro&view=ticket&id='.$item->id.':'.JFilterOutput::stringURLSafe($item->subject));
?>"><?php echo $this->escape($item->subject);
?></a>
					<?php if (!$this->params->get('show_code', 1)
&& $this->params->get('show_replies', 1)) { ?>
					(<?php echo $item->replies; ?>)
					<?php } ?>
					<?php echo $this->notify($item); ?>
				</td>

				<?php if ($this->params->get('show_customer', 1)) {
?>
				<td class="rst_cell_customer center"><?php echo
$this->escape($item->customer); ?></td>
				<?php } ?>

				<?php if ($this->params->get('show_priority', 1)) {
?>
				<td class="center rst_priority_cell
hidden-phone"><?php echo JText::_($item->priority);
?></td>
				<?php } ?>

				<?php if ($this->params->get('show_status', 1)) {
?>
				<td class="rst_cell_status center
hidden-phone"><?php echo JText::_($item->status);
?></td>
				<?php } ?>

				<?php if ($this->params->get('show_staff', 1)) {
?>
				<td class="rst_cell_assigned center hidden-phone
hidden-tablet"><?php echo $item->staff_id ?
$this->escape($item->staff) :
'<em>'.JText::_('RST_UNASSIGNED').'</em>';
?></td>
				<?php } ?>

				<?php if ($this->params->get('show_time_spent', 0)
&& RSTicketsProHelper::getConfig('enable_time_spent')) {
?>
				<td class="center hidden-phone hidden-tablet"><?php
echo $this->showTotal($item->time_spent); ?></td>
				<?php } ?>
			</tr>
		<?php
		}
		?>
	</tbody>
	<tfoot>
		<tr>
			<td colspan="11" class="center">
				<div class="pagination"><?php echo
$this->pagination->getPagesLinks(); ?></div>
				<?php echo $this->pagination->getPagesCounter(); ?>
			</td>
		</tr>
	</tfoot>
</table>

<?php
if ($this->showFooter)
{
	echo $this->footer;
}
?>

<input type="hidden" name="boxchecked"
value="0" />
<input type="hidden" name="filter_order"
value="<?php echo $this->escape($listOrder); ?>" />
<input type="hidden" name="filter_order_Dir"
value="<?php echo $this->escape($listDirn); ?>" />
<input type="hidden" name="limitstart"
value="<?php echo $this->escape($this->limitstart);
?>" />
<input type="hidden" name="task" value=""
/>
</form>views/tickets/tmpl/default.xml000064400000011445151165235170012504
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<layout title="RST_TICKETS_DEFAULT_LAYOUT">
		<message>
			<![CDATA[RST_TICKETS_MENU_DESC]]>
		</message>
	</layout>
	
	<config>
		<fields name="params">
			<fieldset name="basic"
addfieldpath="/administrator/components/com_rsticketspro/models/fields">
				<field name="show_filter" type="list"
default="" label="RST_FILTER"
description="RST_FILTER">
					<option value="">RST_NO_FILTER</option>
					<option
value="show_unassigned">RST_FILTER_UNASSIGNED</option>
					<option
value="show_submitted">RST_FILTER_SUBMITTED</option>
					<option
value="show_assigned">RST_FILTER_ASSIGNED</option>
					<option
value="show_both">RST_FILTER_BOTH</option>
				</field>
				
				<field name="default_priority" type="priorities"
default="" multiple="multiple"
label="RST_PRIORITY" description="RST_PRIORITY" />
				<field name="default_status" type="statuses"
default="" multiple="multiple"
label="RST_STATUS" description="RST_STATUS" />
				
				<field name="@spacer" type="spacer"
default="" label="" description="" />
				<field name="show_headings" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TABLE_HEADINGS"
description="RST_TABLE_HEADINGS_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="orderby" type="list"
default="" label="RST_ORDER"
description="RST_ORDER_DESC">
					<option value="date">RST_TICKET_DATE</option>
					<option
value="last_reply">RST_TICKET_LAST_REPLY</option>
					<option
value="flagged">RST_TICKET_FLAGGED</option>
					<option value="code">RST_TICKET_CODE</option>
					<option
value="subject">RST_TICKET_SUBJECT</option>
					<option
value="customer">RST_TICKET_CUSTOMER</option>
					<option
value="priority">RST_TICKET_PRIORITY</option>
					<option
value="status">RST_TICKET_STATUS</option>
					<option value="staff">RST_TICKET_STAFF</option>
					<option
value="time_spent">RST_TIME_SPENT</option>
				</field>
				<field name="direction" type="list"
default="desc" label="RST_DIRECTION"
description="RST_DIRECTION_DESC">
					<option value="asc">RST_ASC</option>
					<option value="desc">RST_DESC</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field name="show_offset" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_OFFSET"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_date" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_DATE"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_last_reply" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_LAST_REPLY"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_code" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_CODE"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_replies" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_REPLIES"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_customer" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_CUSTOMER"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_priority" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_PRIORITY"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_status" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_STATUS"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_staff" type="radio"
class="btn-group btn-group-yesno" default="1"
label="RST_TICKET_STAFF"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
				<field name="show_time_spent" type="radio"
class="btn-group btn-group-yesno" default="0"
label="RST_TIME_SPENT"
description="RST_SHOW_HIDE_COLUMN_DESC">
					<option value="1">RST_SHOW</option>
					<option value="0">RST_HIDE</option>
				</field>
			</fieldset>
		</fields>
	</config>
	
</metadata>views/tickets/tmpl/index.html000064400000000054151165235170012325
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/tickets/view.html.php000064400000006757151165235170012022
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewTickets extends JViewLegacy
{
	public function display($tpl = null)
	{
		$this->canAccess();

		$this->bulkForm         = $this->get('BulkForm');
		$this->params           =
JFactory::getApplication()->getParams('com_rsticketspro');
		$this->globalMessage    =
JText::_(RSTicketsProHelper::getConfig('global_message'));
		$this->dateFormat 	    =
RSTicketsProHelper::getConfig('date_format');
		$this->autocloseEnabled =
RSTicketsProHelper::getConfig('autoclose_enabled');
		$this->permissions 	    = $this->get('permissions');
		$this->isStaff		    = RSTicketsProHelper::isStaff();
		$this->items 		    = $this->get('Items');
		$this->limitstart	    = $this->get('start');
		$this->pagination 	    = $this->get('Pagination');
		$this->state 		    = $this->get('State');
		$this->totalItems 	    = $this->get('TotalItems');
		$this->isSearching      = $this->get('isSearching');
		$this->showFooter       =
RSTicketsProHelper::getConfig('rsticketspro_link');
		$this->footer	        = RSTicketsProHelper::getFooter();
		$this->searches 	    = $this->get('searches');
		$this->hasSearches 	    = !empty($this->searches);
		$this->predefinedSearch =
$this->get('predefinedsearch');

		$this->setMetadata();
		$this->setPriorityColors();
		
		parent::display($tpl);
	}
	
	protected function setMetadata()
	{
		// Description
		if ($this->params->get('menu-meta_description'))
		{
			$this->document->setDescription($this->params->get('menu-meta_description'));
		}
		// Keywords
		if ($this->params->get('menu-meta_keywords'))
		{
			$this->document->setMetadata('keywords',
$this->params->get('menu-meta_keywords'));
		}
		// Robots
		if ($this->params->get('robots'))
		{
			$this->document->setMetadata('robots',
$this->params->get('robots'));
		}
	}
	
	protected function setPriorityColors()
	{
		if ($priorities = $this->get('Priorities'))
		{
			$css      = '';
			$colorize =
RSTicketsProHelper::getConfig('color_whole_ticket');
			$class 	  = $colorize ? '' :
'.rst_priority_cell';			
			foreach ($priorities as $priority)
			{
				if ($priority->bg_color)
				{
					$css .= 'table.adminlist
tr.rst_priority_color_'.$priority->id.' td'.$class.'
{ background-color: '.$this->escape($priority->bg_color).'
!important; }'."\n";
				}
				if ($priority->fg_color)
				{
					$css .= 'table.adminlist
tr.rst_priority_color_'.$priority->id.'
td'.$class.','."\n";
					$css .= 'table.adminlist
tr.rst_priority_color_'.$priority->id.' td
a'.$class.' { color:
'.$this->escape($priority->fg_color).' !important;
}'."\n";
				}
			}
			
			if ($css)
			{
				JFactory::getDocument()->addStyleDeclaration($css);
			}
		}
	}
	
	protected function canAccess()
	{
		if (JFactory::getUser()->get('guest'))
		{
			JFactory::getApplication()->redirect(RSTicketsProHelper::route('index.php?option=com_users&view=login&return='
. base64_encode((string) JUri::getInstance()), false));
		}
	}
	
	protected function showDate($date)
	{
		return JHtml::_('date', $date, $this->dateFormat);
	}

	public function showTotal($duration)
	{
		return RSTicketsProHelper::showTotal($duration, true);
	}
	
	public function notify($ticket)
	{
		return RSTicketsProHelper::showNotifyIcon($ticket);
	}
}views/users/index.html000064400000000054151165235170011044
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/users/metadata.xml000064400000000130151165235170011344
0ustar00<?xml version="1.0" encoding="utf-8"?>
<metadata>
	<view hidden="true" />
</metadata>views/users/tmpl/index.html000064400000000054151165235200012012
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/users/tmpl/modal.php000064400000005636151165235200011635
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die;

$listOrder =
$this->escape($this->state->get('list.ordering'));
$listDirn  =
$this->escape($this->state->get('list.direction'));

JHtml::_('script', 'com_rsticketspro/users.js',
array('relative' => true, 'version' =>
'auto'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=users&layout=modal&tmpl=component&field='
. $this->escape($this->field)); ?>" method="post"
name="adminForm" id="adminForm">
	<?php
	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped table-condensed">
			<thead>
			<tr>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_NAME', 'name', $listDirn, $listOrder);
?></th>
				<th nowrap width="25%"><?php echo
JHtml::_('searchtools.sort', 'JGLOBAL_USERNAME',
'username', $listDirn, $listOrder); ?></th>
				<th nowrap width="25%"><?php echo
JHtml::_('searchtools.sort', 'JGLOBAL_EMAIL',
'email', $listDirn, $listOrder); ?></th>
				<th nowrap width="1%"><?php echo
JHtml::_('searchtools.sort', 'JGRID_HEADING_ID',
'id', $listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $item)
			{
				$alt_email = RSTicketsProHelper::getAlternativeEmail($item->id);
				?>
				<tr>
					<td><?php echo $this->escape($item->name);
?></td>
					<td><a class="pointer button-select"
href="javascript:void(0);" data-user-value="<?php echo
$item->id; ?>" data-user-name="<?php echo
$this->escape($item->name); ?>"
data-user-field="<?php echo
$this->escape($this->field);?>" data-alt-email="<?php
echo $this->escape($alt_email); ?>"
onclick="RSTicketsProSelectUser(this);"><?php echo
$this->escape($item->username); ?></a></td>
					<td><a class="pointer button-select"
href="javascript:void(0);" data-user-value="<?php echo
$item->id; ?>" data-user-name="<?php echo
$this->escape($item->name); ?>"
data-user-field="<?php echo
$this->escape($this->field);?>" data-alt-email="<?php
echo $this->escape($alt_email); ?>"
onclick="RSTicketsProSelectUser(this);"><?php echo
$this->escape($item->email); ?></a></td>
					<td><?php echo $item->id; ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}

	echo JHtml::_('form.token');
	?>
	<input type="hidden" name="task" value=""
/>
	<input type="hidden" name="field"
value="<?php echo $this->escape($this->field); ?>"
/>
</form>views/users/view.html.php000064400000000556151165235200011476
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

require_once JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/views/users/view.html.php';access.xml000064400000012650151165643770006552
0ustar00<?xml version="1.0" encoding="utf-8" ?>
<access component="com_rsticketspro">
	<section name="component">
		<action name="core.admin" title="JACTION_ADMIN"
description="JACTION_ADMIN_COMPONENT_DESC" />
		<action name="core.manage" title="JACTION_MANAGE"
description="JACTION_MANAGE_COMPONENT_DESC" />

		<action name="department.create"
title="COM_RSTICKETSPRO_ACTION_DEPARTMENT_CREATE"
description="COM_RSTICKETSPRO_ACTION_DEPARTMENT_CREATE_DESC"
/>
		<action name="department.delete"
title="COM_RSTICKETSPRO_ACTION_DEPARTMENT_DELETE"
description="COM_RSTICKETSPRO_ACTION_DEPARTMENT_DELETE_DESC"
/>
		<action name="department.edit"
title="COM_RSTICKETSPRO_ACTION_DEPARTMENT_EDIT"
description="COM_RSTICKETSPRO_ACTION_DEPARTMENT_EDIT_DESC" />
		<action name="department.edit.state"
title="COM_RSTICKETSPRO_ACTION_DEPARTMENT_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_DEPARTMENT_EDIT_STATE_DESC"
/>

		<action name="customfield.create"
title="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_CREATE"
description="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_CREATE_DESC"
/>
		<action name="customfield.delete"
title="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_DELETE"
description="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_DELETE_DESC"
/>
		<action name="customfield.edit"
title="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_EDIT"
description="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_EDIT_DESC"
/>
		<action name="customfield.edit.state"
title="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_CUSTOMFIELD_EDIT_STATE_DESC"
/>

		<action name="group.create"
title="COM_RSTICKETSPRO_ACTION_GROUP_CREATE"
description="COM_RSTICKETSPRO_ACTION_GROUP_CREATE_DESC" />
		<action name="group.delete"
title="COM_RSTICKETSPRO_ACTION_GROUP_DELETE"
description="COM_RSTICKETSPRO_ACTION_GROUP_DELETE_DESC" />
		<action name="group.edit"
title="COM_RSTICKETSPRO_ACTION_GROUP_EDIT"
description="COM_RSTICKETSPRO_ACTION_GROUP_EDIT_DESC" />

		<action name="staff.create"
title="COM_RSTICKETSPRO_ACTION_STAFF_CREATE"
description="COM_RSTICKETSPRO_ACTION_STAFF_CREATE_DESC" />
		<action name="staff.delete"
title="COM_RSTICKETSPRO_ACTION_STAFF_DELETE"
description="COM_RSTICKETSPRO_ACTION_STAFF_DELETE_DESC" />
		<action name="staff.edit"
title="COM_RSTICKETSPRO_ACTION_STAFF_EDIT"
description="COM_RSTICKETSPRO_ACTION_STAFF_EDIT_DESC" />

		<action name="priority.create"
title="COM_RSTICKETSPRO_ACTION_PRIORITY_CREATE"
description="COM_RSTICKETSPRO_ACTION_PRIORITY_CREATE_DESC" />
		<action name="priority.delete"
title="COM_RSTICKETSPRO_ACTION_PRIORITY_DELETE"
description="COM_RSTICKETSPRO_ACTION_PRIORITY_DELETE_DESC" />
		<action name="priority.edit"
title="COM_RSTICKETSPRO_ACTION_PRIORITY_EDIT"
description="COM_RSTICKETSPRO_ACTION_PRIORITY_EDIT_DESC" />
		<action name="priority.edit.state"
title="COM_RSTICKETSPRO_ACTION_PRIORITY_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_PRIORITY_EDIT_STATE_DESC"
/>

		<action name="status.create"
title="COM_RSTICKETSPRO_ACTION_STATUS_CREATE"
description="COM_RSTICKETSPRO_ACTION_STATUS_CREATE_DESC" />
		<action name="status.delete"
title="COM_RSTICKETSPRO_ACTION_STATUS_DELETE"
description="COM_RSTICKETSPRO_ACTION_STATUS_DELETE_DESC" />
		<action name="status.edit"
title="COM_RSTICKETSPRO_ACTION_STATUS_EDIT"
description="COM_RSTICKETSPRO_ACTION_STATUS_EDIT_DESC" />
		<action name="status.edit.state"
title="COM_RSTICKETSPRO_ACTION_STATUS_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_STATUS_EDIT_STATE_DESC"
/>

		<action name="email.edit"
title="COM_RSTICKETSPRO_ACTION_EMAIL_EDIT"
description="COM_RSTICKETSPRO_ACTION_EMAIL_EDIT_DESC" />
		<action name="email.edit.state"
title="COM_RSTICKETSPRO_ACTION_EMAIL_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_EMAIL_EDIT_STATE_DESC"
/>

		<action name="kbcategory.create"
title="COM_RSTICKETSPRO_ACTION_KBCATEGORY_CREATE"
description="COM_RSTICKETSPRO_ACTION_KBCATEGORY_CREATE_DESC"
/>
		<action name="kbcategory.delete"
title="COM_RSTICKETSPRO_ACTION_KBCATEGORY_DELETE"
description="COM_RSTICKETSPRO_ACTION_KBCATEGORY_DELETE_DESC"
/>
		<action name="kbcategory.edit"
title="COM_RSTICKETSPRO_ACTION_KBCATEGORY_EDIT"
description="COM_RSTICKETSPRO_ACTION_KBCATEGORY_EDIT_DESC" />
		<action name="kbcategory.edit.state"
title="COM_RSTICKETSPRO_ACTION_KBCATEGORY_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_KBCATEGORY_EDIT_STATE_DESC"
/>

		<action name="kbarticle.create"
title="COM_RSTICKETSPRO_ACTION_KBARTICLE_CREATE"
description="COM_RSTICKETSPRO_ACTION_KBARTICLE_CREATE_DESC"
/>
		<action name="kbarticle.delete"
title="COM_RSTICKETSPRO_ACTION_KBARTICLE_DELETE"
description="COM_RSTICKETSPRO_ACTION_KBARTICLE_DELETE_DESC"
/>
		<action name="kbarticle.edit"
title="COM_RSTICKETSPRO_ACTION_KBARTICLE_EDIT"
description="COM_RSTICKETSPRO_ACTION_KBARTICLE_EDIT_DESC" />
		<action name="kbarticle.edit.state"
title="COM_RSTICKETSPRO_ACTION_KBARTICLE_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_KBARTICLE_EDIT_STATE_DESC"
/>

		<action name="kbrule.create"
title="COM_RSTICKETSPRO_ACTION_KBRULE_CREATE"
description="COM_RSTICKETSPRO_ACTION_KBRULE_CREATE_DESC" />
		<action name="kbrule.delete"
title="COM_RSTICKETSPRO_ACTION_KBRULE_DELETE"
description="COM_RSTICKETSPRO_ACTION_KBRULE_DELETE_DESC" />
		<action name="kbrule.edit"
title="COM_RSTICKETSPRO_ACTION_KBRULE_EDIT"
description="COM_RSTICKETSPRO_ACTION_KBRULE_EDIT_DESC" />
		<action name="kbrule.edit.state"
title="COM_RSTICKETSPRO_ACTION_KBRULE_EDIT_STATE"
description="COM_RSTICKETSPRO_ACTION_KBRULE_EDIT_STATE_DESC"
/>
	</section>
</access>config.xml000064400000000506151165643770006553
0ustar00<?xml version="1.0" encoding="utf-8"?>
<config>	
	<fieldset name="permissions"
label="JCONFIG_PERMISSIONS_LABEL"
description="JCONFIG_PERMISSIONS_DESC">
		<field name="rules" type="rules"
label="JCONFIG_PERMISSIONS_LABEL" filter="rules"
component="com_rsticketspro" section="component">
		</field>
	</fieldset>
</config>controllers/configuration.php000064400000004643151165643770012520
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerConfiguration extends JControllerLegacy
{
    public function __construct($config = array())
    {
		parent::__construct($config);
		
		$user = JFactory::getUser();
		if (!$user->authorise('core.admin',
'com_rsticketspro'))
		{
			$app = JFactory::getApplication();
			$app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'),
'error');
			$app->redirect(JRoute::_('index.php?option=com_rsticketspro',
false));
		}
		
		$this->registerTask('apply', 'save');
	}
	
	public function cancel()
	{
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
		
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro',
false));
	}
	
	public function save()
	{
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

        $app   = JFactory::getApplication();
		$input = $app->input;
		$data  = $input->get('jform', array(), 'array');
		$model = $this->getModel('configuration');
		$form  = $model->getForm();

		// Validate the posted data.
		$return = $model->validate($form, $data);
		
		// Check for validation errors.
		if ($return === false)
		{
			// Get the validation messages.
			$errors = $model->getErrors();

			// Push up to three validation messages out to the user.
			for ($i = 0, $n = count($errors); $i < $n && $i < 3;
$i++)
			{
				if ($errors[$i] instanceof Exception)
				{
					$app->enqueueMessage($errors[$i]->getMessage(),
'warning');
				}
				else
				{
					$app->enqueueMessage($errors[$i], 'warning');
				}
			}

			// Redirect back to the edit screen.
			$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=configuration',
false));
			return false;
		}

		$data = $return;
		
		if (!$model->save($data))
		{
			$this->setMessage($model->getError(), 'error');
		}
		else
		{
			$this->setMessage(JText::_('RST_CONFIGURATION_OK',
'info'));
		}
		
		$task = $this->getTask();
		if ($task == 'save')
		{
			$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro',
false));
		}
		elseif ($task == 'apply')
		{
			$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=configuration',
false));
		}
	}
}controllers/cron.php000064400000000600151165643770010577 0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerCron extends JControllerForm
{
	public function preview()
	{
		JFactory::getApplication()->triggerEvent('onCronTestConnection');
	}
}controllers/cronlog.php000064400000001310151165643770011300
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerCronlog extends JControllerAdmin
{
	/**
	 * Delete all Cron Logs
	 */
	public function deleteAll()
	{
		$this->checkToken();

		// Get databse connector
		$db		= JFactory::getDbo();
		$query 	= $db->getQuery(true);

		$query->delete()
			->from($db->qn('#__rsticketspro_accounts_log'));

		$db->setQuery($query);
		$db->execute();

		$this->setRedirect('index.php?option=com_rsticketspro&view=cronlog',
JText::_('RST_CRON_LOG_DELETED_ALL'));
	}
}controllers/crons.php000064400000000713151165643770010767
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerCrons extends JControllerAdmin
{
	public function getModel($name = 'Cron', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/customfield.php000064400000001165151165643770012163
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerCustomfield extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('customfield.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('customfield.edit',
'com_rsticketspro');
	}
}controllers/customfields.php000064400000001022151165643770012336
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerCustomfields extends JControllerAdmin
{
	public function getModel($name = 'Customfield', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/department.php000064400000001162151165643770012005
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerDepartment extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('department.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('department.edit',
'com_rsticketspro');
	}
}controllers/departments.php000064400000001020151165643770012161
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerDepartments extends JControllerAdmin
{
	public function getModel($name = 'Department', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/email.php000064400000000737151165643770010740
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerEmail extends JControllerForm
{
	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('email.edit',
'com_rsticketspro');
	}
}controllers/emails.php000064400000001006151165643770011111
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerEmails extends JControllerAdmin
{
	public function getModel($name = 'Email', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/group.php000064400000001143151165643770010775
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerGroup extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('group.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('group.edit',
'com_rsticketspro');
	}
}controllers/groups.php000064400000001006151165643770011156
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerGroups extends JControllerAdmin
{
	public function getModel($name = 'Group', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/kbarticle.php000064400000001157151165643770011606
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbarticle extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('kbarticle.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('kbarticle.edit',
'com_rsticketspro');
	}
}controllers/kbarticles.php000064400000001016151165643770011763
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbarticles extends JControllerAdmin
{
	public function getModel($name = 'Kbarticle', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/kbcategories.php000064400000001021151165643770012276
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbcategories extends JControllerAdmin
{
	public function getModel($name = 'Kbcategory', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/kbcategory.php000064400000001162151165643770011774
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbcategory extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('kbcategory.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('kbcategory.edit',
'com_rsticketspro');
	}
}controllers/kbconvert.php000064400000024650151165643770011646
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbconvert extends JControllerLegacy
{
	public function cancel()
	{
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
		
		$input 		= JFactory::getApplication()->input;
		$data  		= $input->get('jform', array(),
'array');
		$ticketId 	= $data['ticket_id'];
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='
. $ticketId, false));
	}
	
	public function save()
	{
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
		
		$input 		= JFactory::getApplication()->input;
		$data  		= $input->get('jform', array(),
'array');
		$ticketId 	= $data['ticket_id'];
		
		$model = $this->getModel('kbconvert');
		if (!$model->save($data))
		{
			$this->setMessage($model->getError(), 'error');
		}
		else
		{
			$this->setMessage(JText::_('RST_KB_ARTICLE_SAVED_OK',
'info'));
		}
		
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='
. $ticketId, false));
	}
	
	public function manual()
	{
		// Check for request forgeries
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

		$ticketId =
JFactory::getApplication()->input->getInt('id');
		$model 	  = $this->getModel('ticket');
		
		// small check to determine if it's already been converted
		if ($article = $model->isConvertedToKB($ticketId))
		{
			$url =
JRoute::_('index.php?option=com_rsticketspro&task=kbarticle.edit&id='.$article->id);
			$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='.$ticketId,
false), JText::sprintf('RST_KB_ALREADY_CONVERTED', $url,
$article->name), 'notice');
		}
		else
		{
			$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=kbconvert&ticket_id='
. $ticketId, false));
		}
	}
	
	public function automatic()
	{
		// Check for request forgeries
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
		
		$db		  = JFactory::getDbo();
		$ticketId =
JFactory::getApplication()->input->getInt('id');
		$model 	  = $this->getModel('ticket');

		$this->setMessage(JText::_('RST_KB_NO_RULE'),
'notice');
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='
. $ticketId, false));
		
		// small check to determine if it's already been converted
		if ($article = $model->isConvertedToKB($ticketId))
		{
			$url =
JRoute::_('index.php?option=com_rsticketspro&task=kbarticle.edit&id='
. $article->id);
			$this->setMessage(JText::sprintf('RST_KB_ALREADY_CONVERTED',
$url, $article->name), 'notice');
			return false;
		}

		// get ticket
		$ticket 		= $model->getItem();
		$ticketMessages = $model->getTicketMessages($ticketId, true);

		// get rules
		$query = $db->getQuery(true);
		$query->select('*')
			  ->from($db->qn('#__rsticketspro_kb_rules'))
			 
->where($db->qn('published').'='.$db->q(1));
		$db->setQuery($query);
		$rules = $db->loadObjectList();
		foreach ($rules as $rule)
		{
			$result = array();
			$rule->conditions = unserialize($rule->conditions);
			if (!empty($rule->conditions))
			{
				$conditionCount = count($rule->conditions);
				$hasOr = false;

				foreach ($rule->conditions as $conditionCounter => $condition)
				{
					if ($condition->connector == 'OR' &&
$conditionCounter < $conditionCount - 1)
					{
						$hasOr = true;
					}

					switch ($condition->type)
					{
						case 'department':
							if ($condition->condition == 'eq')
							{
								$result[] = $ticket->department_id == $condition->value;
							}
							elseif ($condition->condition == 'neq')
							{
								$result[] = $ticket->department_id != $condition->value;
							}
							elseif ($condition->condition == 'like')
							{
								$result[] = strpos($ticket->department, $condition->value)
!== false;
							}
							elseif ($condition->condition == 'notlike')
							{
								$result[] = strpos($ticket->department, $condition->value)
=== false;
							}
						break;
						
						case 'subject':
							if ($condition->condition == 'eq')
							{
								$result[] = $ticket->subject == $condition->value;
							}
							elseif ($condition->condition == 'neq')
							{
								$result[] = $ticket->subject != $condition->value;
							}
							elseif ($condition->condition == 'like')
							{
								$result[] = strpos($ticket->subject, $condition->value) !==
false;
							}
							elseif ($condition->condition == 'notlike')
							{
								$result[] = strpos($ticket->subject, $condition->value) ===
false;
							}
						break;
						
						case 'priority':
							if ($condition->condition == 'eq')
							{
								$result[] = $ticket->priority_id == $condition->value;
							}
							elseif ($condition->condition == 'neq')
							{
								$result[] = $ticket->priority_id != $condition->value;
							}
							elseif ($condition->condition == 'like')
							{
								$result[] = strpos($ticket->priority->name,
$condition->value) !== false;
							}
							elseif ($condition->condition == 'notlike')
							{
								$result[] = strpos($ticket->priority->name,
$condition->value) === false;
							}
						break;
						
						case 'status':
							if ($condition->condition == 'eq')
							{
								$result[] = $ticket->status_id == $condition->value;
							}
							elseif ($condition->condition == 'neq')
							{
								$result[] = $ticket->status_id != $condition->value;
							}
							elseif ($condition->condition == 'like')
							{
								$result[] = strpos($ticket->status->name,
$condition->value) !== false;
							}
							elseif ($condition->condition == 'notlike')
							{
								$result[] = strpos($ticket->status->name,
$condition->value) === false;
							}
						break;
						
						case 'message':
							if ($condition->condition == 'eq')
							{
								$tmp = false;
								foreach ($ticketMessages as $message)
								{
									if ($message->message == $condition->value)
									{
										$tmp = true;
										break;
									}
								}
								
								$result[] = $tmp;
							}
							elseif ($condition->condition == 'neq')
							{
								$tmp = true;
								foreach ($ticketMessages as $message)
								{
									if ($message->message == $condition->value)
									{
										$tmp = false;
										break;
									}
								}
								
								$result[] = $tmp;
							}
							elseif ($condition->condition == 'like')
							{
								$tmp = false;
								foreach ($ticketMessages as $message)
								{
									if (strpos($message->message, $condition->value) !== false)
									{
										$tmp = true;
										break;
									}
								}
								
								$result[] = $tmp;
							}
							elseif ($condition->condition == 'notlike')
							{
								$tmp = true;
								foreach ($ticketMessages as $message)
								{
									if (strpos($message->message, $condition->value) !== false)
									{
										$tmp = false;
										break;
									}
								}
								
								$result[] = $tmp;
							}
						break;
						
						case 'custom_field':
							$query = $db->getQuery(true);
							$query->select($db->qn('cfv.value'))
								  ->select($db->qn('cf.type'))
								 
->from($db->qn('#__rsticketspro_custom_fields_values',
'cfv'))
								  ->join('left',
$db->qn('#__rsticketspro_custom_fields',
'cf').' ON
('.$db->qn('cf.id').'='.$db->qn('cfv.custom_field_id').')')
								 
->where($db->qn('cfv.custom_field_id').'='.$db->q($condition->custom_field))
								 
->where($db->qn('cfv.ticket_id').'='.$db->q($ticketId))
								 
->where($db->qn('cf.published').'='.$db->q(1));
							$db->setQuery($query);
							if ($field = $db->loadObject())
							{
								$value = $field->value;
								$types = array('select', 'multipleselect',
'checkbox', 'radio');
								
								if ($condition->condition == 'eq')
								{
									if (in_array($field->type, $types))
									{
										$value = explode("\n", $value);
									}
									
									if (is_array($value))
									{
										$tmp = false;
										foreach ($value as $val)
										{
											if ($val == $condition->value)
											{
												$tmp = true;
												break;
											}
										}
										
										$result[] = $tmp;
									}
									else
									{
										$result[] = $value == $condition->value;
									}
								}
								elseif ($condition->condition == 'neq')
								{
									if (in_array($field->type, $types))
									{
										$value = explode("\n", $value);
									}
									
									if (is_array($value))
									{
										$tmp = true;
										foreach ($value as $val)
										{
											if ($val == $condition->value)
											{
												$tmp = false;
												break;
											}
										}
										
										$result[] = $tmp;
									}
									else
									{
										$result[] = $value != $condition->value;
									}
								}
								elseif ($condition->condition == 'like')
								{									
									$result[] = strpos($value, $condition->value) !== false;
								}
								elseif ($condition->condition == 'notlike')
								{
									$result[] = strpos($value, $condition->value) === false;
								}
							}
							else
							{
								$result[] = false;
							}
						break;
					}
				}

				// No 'OR' clause means all results should be true because
we're using 'AND'
				if (!$hasOr)
				{
					$result = !in_array(false, $result);
				}
				else
				{
					// Search for a single true value in the array
					$result = in_array(true, $result);
				}

				// Found rule
				if ($result)
				{
					$params = (object) array(
						'name' 				=> $ticket->subject,
						'category_id' 		=> $rule->category_id,
						'publish_article' 	=> $rule->publish_article,
						'private' 			=> $rule->private
					);
					require_once JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/helpers/ticket.php';

					$success = RSTicketsProTicketHelper::convert($ticket, $ticketMessages,
$params);
					if ($success)
					{
						$this->setMessage(JText::sprintf('RST_KB_ARTICLE_SAVED_OK_AUTOMATIC',
$rule->name));
						return true;
					}
				}
			}
		}

		return false;
	}
}controllers/kbrule.php000064400000001146151165643770011130
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbrule extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('kbrule.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('kbrule.edit',
'com_rsticketspro');
	}
}controllers/kbrules.php000064400000003444151165644000011301
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerKbrules extends JControllerAdmin
{
	public function getModel($name = 'Kbrule', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
	
	public function showDepartments()
	{
		header('Content-Type: text/javascript; charset=utf-8');
		
		$model = $this->getModel('kbrules');
		$departments = $model->getDepartments();
		
		echo json_encode($departments);
		die();
	}
	
	public function showPriorities()
	{
		header('Content-Type: text/javascript; charset=utf-8');
		
		$model = $this->getModel('kbrules');
		$priorities = $model->getPriorities();
		
		echo json_encode($priorities);
		die();
	}
	
	public function showStatuses()
	{
		header('Content-Type: text/javascript; charset=utf-8');
		
		$model = $this->getModel('kbrules');
		$statuses = $model->getStatuses();
		
		echo json_encode($statuses);
		die();
	}
	
	public function showCustomFields()
	{
		header('Content-Type: text/javascript; charset=utf-8');
		
		$model = $this->getModel('kbrules');
		$departments = $model->getDepartments();
		$custom_fields = $model->getCustomFields();

		echo json_encode(array('departments' => $departments,
'options' => $custom_fields));
		
		die();
	}
	
	public function showCustomFieldValues()
	{
		header('Content-Type: text/javascript; charset=utf-8');
		
		$model = $this->getModel('kbrules');
		
		$values = $model->getCustomFieldValues();
		echo json_encode($values);
		
		die();
	}
}controllers/priorities.php000064400000001015151165644000012013
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerPriorities extends JControllerAdmin
{
	public function getModel($name = 'Priority', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/priority.php000064400000001154151165644000011507
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerPriority extends JControllerForm
{
	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('priority.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('priority.edit',
'com_rsticketspro');
	}
}controllers/search.php000064400000001535151165644000011076
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerSearch extends JControllerLegacy
{
	public function cancel()
	{
		JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
		
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=tickets',
false));
	}
	
	public function reset()
	{
		$model = $this->getModel('tickets');
		$model->resetSearch();
		
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=tickets',
false));
	}

	public function advanced()
	{
		$this->setRedirect(JRoute::_('index.php?option=com_rsticketspro&view=search',
false));
	}
}controllers/searches.php000064400000000546151165644000011427
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');



require_once
JPATH_SITE.'/components/com_rsticketspro/controllers/searches.php';controllers/staff.php000064400000001210151165644000010722
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerStaff extends JControllerForm
{
	protected $view_list = 'staffs';

	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('staff.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('staff.edit',
'com_rsticketspro');
	}
}controllers/staffs.php000064400000001006151165644000011110
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerStaffs extends JControllerAdmin
{
	public function getModel($name = 'Staff', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}controllers/status.php000064400000001215151165644000011147
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerStatus extends JControllerForm
{
	protected $view_list = 'statuses';

	public function allowAdd($data = array())
	{
		return JFactory::getUser()->authorise('status.create',
'com_rsticketspro');
	}

	public function allowEdit($data = array(), $key = 'id')
	{
		return JFactory::getUser()->authorise('status.edit',
'com_rsticketspro');
	}
}controllers/statuses.php000064400000001011151165644000011471
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproControllerStatuses extends JControllerAdmin
{
	public function getModel($name = 'Status', $prefix =
'RsticketsproModel', $config = array('ignore_request'
=> true))
	{
		return parent::getModel($name, $prefix, $config);
	}
}helpers/adapter.php000064400000001746151165644000010351 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

/* Autoloader function and registration */

function RsticketsproAutoload($class)
{
	$class = strtolower($class);
	$prefix = 'rsticketsproadapter';

	if (strpos($class, $prefix) === 0)
	{
		// Grab name and filter it
		$name = preg_replace('/[^a-z]/i', '', substr($class,
strlen($prefix)));

		// Supported Joomla! versions
		$versions = array('4.0', '3.0');

		// Iterate through and find the first available class
		foreach ($versions as $version)
		{
			$file = __DIR__ . '/adapters/' . $version . '/' .
$name . '.php';
			if (version_compare(JVERSION, $version, '>=') &&
file_exists($file))
			{
				require_once $file;
				break;
			}
		}
	}
}

spl_autoload_register('RsticketsproAutoload');helpers/adapters/3.0/grid.php000064400000001567151165644000011762
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

abstract class RsticketsproAdapterGrid
{
	public static function row()
	{
		return 'row-fluid';
	}

	public static function column($size)
	{
		return 'span' . (int) $size;
	}

	public static function sidebar()
	{
		return '<div id="j-sidebar-container"
class="' . static::column(2) . '">' .
			JHtmlSidebar::render() .
			'</div>' .
			'<div id="j-main-container" class="' .
static::column(10) . '">';
	}

	public static function inputAppend($input, $append)
	{
		return
			'<div class="input-append">' .
			$input .
			'<span class="add-on">' . $append .
'</span>' .
			'</div>';
	}
}helpers/adapters/3.0/plain.php000064400000002443151165644000012132
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproAdapterPlain
{
	protected $id		= null;
	protected $titles 	= array();
	protected $contents = array();
	
	public function __construct($id)
	{
		$this->id = preg_replace('#[^A-Z0-9_\. -]#i', '',
$id);
	}
	
	public function addTitle($label, $id)
	{
		$this->titles[] = (object) array('label' => $label,
'id' => $id);
	}
	
	public function addContent($content)
	{
		$this->contents[] = $content;
	}
	
	public function render()
	{
		foreach ($this->titles as $i => $title)
		{
			?>
			<div class="well" id="ticket-<?php echo
$this->escape($title->id); ?>">
				<h3><?php echo $this->escape($title->label);
?></h3>
				<?php echo $this->contents[$i]; ?>
			</div>
			<?php
		}
	}
	
	protected function escape($string)
	{
		return htmlentities($string, ENT_COMPAT, 'utf-8');	
	}

	public function remove($index)
	{
		if (isset($this->titles[$index]))
		{
			unset($this->titles[$index]);
		}

		if (isset($this->contents[$index]))
		{
			unset($this->contents[$index]);
		}
	}
}helpers/adapters/3.0/tabs.php000064400000002133151165644000011754
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproAdapterTabs
{
	protected $id;
	protected $titles   = array();
	protected $contents = array();
	
	public function __construct($id)
	{
		$this->id = preg_replace('/[^A-Z0-9_\. -]/i', '',
$id);
	}
	
	public function addTitle($label, $id)
	{
		$this->titles[] = (object) array('label' => $label,
'id' => $id);
	}
	
	public function addContent($content)
	{
		$this->contents[] = $content;
	}
	
	public function render()
	{
		$active = reset($this->titles);

		echo JHtml::_('bootstrap.startTabSet', $this->id,
array('active' => $active->id));

		foreach ($this->titles as $i => $title)
		{
			echo JHtml::_('bootstrap.addTab', $this->id, $title->id,
JText::_($title->label));
			echo $this->contents[$i];
			echo JHtml::_('bootstrap.endTab');
		}

		echo JHtml::_('bootstrap.endTabSet');
	}
}helpers/adapters/4.0/grid.php000064400000001442151165644000011753
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

abstract class RsticketsproAdapterGrid
{
	public static function row()
	{
		return 'row';
	}

	public static function column($size)
	{
		return 'col-md-' . (int) $size;
	}

	public static function sidebar()
	{
		return '<div id="j-main-container"
class="j-main-container">';
	}

	public static function inputAppend($input, $append)
	{
		return
		'<div class="input-group">' .
			$input .
			'<div class="input-group-append"><span
class="input-group-text">' . $append .
'</span></div>' .
		'</div>';
	}
}helpers/adapters/4.0/plain.php000064400000002571151165644000012135
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproAdapterPlain
{
	protected $id		= null;
	protected $titles 	= array();
	protected $contents = array();
	
	public function __construct($id)
	{
		$this->id = preg_replace('#[^A-Z0-9_\. -]#i', '',
$id);
	}
	
	public function addTitle($label, $id)
	{
		$this->titles[] = (object) array('label' => $label,
'id' => $id);
	}
	
	public function addContent($content)
	{
		$this->contents[] = $content;
	}
	
	public function render()
	{
		foreach ($this->titles as $i => $title)
		{
			?>
			<div class="card" id="ticket-<?php echo
$this->escape($title->id); ?>">
				<div class="card-header">
					<h3><?php echo $this->escape($title->label);
?></h3>
				</div>
				<div class="card-body">
					<?php echo $this->contents[$i]; ?>
				</div>
			</div>
			<?php
		}
	}
	
	protected function escape($string)
	{
		return htmlentities($string, ENT_COMPAT, 'utf-8');	
	}

	public function remove($index)
	{
		if (isset($this->titles[$index]))
		{
			unset($this->titles[$index]);
		}

		if (isset($this->contents[$index]))
		{
			unset($this->contents[$index]);
		}
	}
}helpers/adapters/4.0/tabs.php000064400000002113151165644000011753
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproAdapterTabs
{
	protected $id;
	protected $titles   = array();
	protected $contents = array();
	
	public function __construct($id)
	{
		$this->id = preg_replace('/[^A-Z0-9_\. -]/i', '',
$id);
	}
	
	public function addTitle($label, $id)
	{
		$this->titles[] = (object) array('label' => $label,
'id' => $id);
	}
	
	public function addContent($content)
	{
		$this->contents[] = $content;
	}
	
	public function render()
	{
		$active = reset($this->titles);

		echo JHtml::_('uitab.startTabSet', $this->id,
array('active' => $active->id));

		foreach ($this->titles as $i => $title)
		{
			echo JHtml::_('uitab.addTab', $this->id, $title->id,
JText::_($title->label));
			echo $this->contents[$i];
			echo JHtml::_('uitab.endTab');
		}

		echo JHtml::_('uitab.endTabSet');
	}
}helpers/adapters/accordion.php000064400000002134151165644000012465
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSAccordion
{
	protected $id		= null;
	protected $titles 	= array();
	protected $contents = array();

	public function __construct($id)
	{
		$this->id = preg_replace('#[^A-Z0-9_\. -]#i', '',
$id);
	}

	public function addTitle($label, $id)
	{
		$this->titles[] = (object) array('label' => $label,
'id' => $id);
	}

	public function addContent($content)
	{
		$this->contents[] = $content;
	}

	public function render()
	{
		$active = reset($this->titles);

		echo JHtml::_('bootstrap.startAccordion', $this->id,
array('active' => $active->id));

		foreach ($this->titles as $i => $title)
		{
			echo JHtml::_('bootstrap.addSlide', $this->id,
JText::_($title->label), $title->id);
			echo $this->contents[$i];
			echo JHtml::_('bootstrap.endSlide');
		}

		echo JHtml::_('bootstrap.endAccordion');
	}
}helpers/adapters/index.html000064400000000054151165644000012007
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>helpers/adapters/tabs.php000064400000000506151165644000011456
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTabs extends RsticketsproAdapterTabs
{

}helpers/captcha/captcha.php000064400000005721151165644000011734
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2020 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproCaptcha
{
	protected $chars = 4;
	protected $code = null;

	protected function getFont()
	{
		return __DIR__ . '/monofont.ttf';
	}

	protected function generateCode()
	{
		$possible =
'aAbBcCdDeEfFgGhHjJkKLmMnNpPqQrRstTvVwWxXyYzZ2346789';
		$count = strlen($possible) - 1;
		$this->code = '';

		for ($i = 0; $i < $this->chars; $i++)
		{
			$this->code .= substr($possible, mt_rand(0, $count), 1);
		}

		JFactory::getSession()->set('com_rsticketspro.captcha',
$this->code);

		return $this->code;
	}

	public function check($code)
	{
		$validCode = (string)
JFactory::getSession()->get('com_rsticketspro.captcha');
		if (!RSTicketsProHelper::getConfig('captcha_case_sensitive'))
		{
			$validCode = strtolower($validCode);
			$code = strtolower($code);
		}

		JFactory::getSession()->clear('com_rsticketspro.captcha');

		return $validCode === $code;
	}

	public function setLength($chars)
	{
		$this->chars = (int) $chars;
	}

	public function getImage()
	{
		try
		{
			if (!function_exists('imagecreate'))
			{
				throw new Exception('imagecreate() not available.');
			}
			if (!function_exists('imagettfbbox'))
			{
				throw new Exception('imagettfbbox() not available.');
			}

			$code = $this->generateCode();
			$font = $this->getFont();

			$font_size = 32;

			$box = imagettfbbox($font_size, 0, $font, 'M');

			$char_w = abs($box[4] - $box[0]);
			$char_h = abs($box[5] - $box[1]);

			$width = $char_w * $this->chars * 1.3;
			$height = $char_h * 2;

			// Create the image
			$image = imagecreate($width, $height);

			// Get a random text color
			$r = mt_rand(0, 255);
			$g = mt_rand(0, 255);
			$b = mt_rand(0, 255);

			// Fill the background with a complementary color
			imagecolorallocate($image, ($r < 128) ? 255 : 0, ($g < 128) ? 255
: 0, ($b < 128) ? 255 : 0);

			// Allocate text color
			$color = imagecolorallocate($image, $r, $g, $b);

			// Get a random angle
			$angle = mt_rand( 0, 5 ) * (mt_rand(0, 1) == 1 ? -1 : 1);

			// Get the box size
			$text_box_size = imagettfbbox($font_size, $angle, $font, $code);

			// Calculate position
			$x = ($width - $text_box_size[4]) / 2;
			$y = ($height - $text_box_size[5]) / 2;

			// Set a shadow
			$shadow_color = imagecolorallocate($image, floor($r / 2), floor($g / 2),
floor($b / 2));
			imagettftext($image, $font_size, $angle, $x - 1, $y + 3, $shadow_color,
$font, $code);

			// Write our text
			imagettftext($image, $font_size, $angle, $x, $y, $color, $font, $code);

			imagejpeg($image);
			imagedestroy($image);
		}
		catch (Exception $e)
		{
			JFactory::getApplication()->enqueueMessage($e->getMessage(),
'warning');
		}
	}
}
helpers/captcha/monofont.ttf000064400000120114151165644000012170
0ustar000�OS/2`+z>�@VPCLT|r�u��6cmap�mq0
�cvt
pc�\6fpgm�3�OHglyf��^r�M4hdmx��{�#�head�<���6hhea���$hmtxr�"�Z�loca�z�Q0�maxp
�,
name�)��Ipost`.e�b�Kprep��9r�f&T*�����#*	~�	�	��	#	T*	�	�	�	�	�		#(C)1999
Ray Larabie - rlarabie@hotmail.com(C)1999 Ray Larabie -
rlarabie@hotmail.comMonofontoMonofontoRegularRegularMonofontoMonofontoMonofontoMonofontoVersion
1.00Version 1.00MonofontoMonofonto@,vE
�%E#ah#h`D-�^���H]f\Sa8N?c�L�Z�Z�Z�Z�Z�Z�Z�	@



		����EhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhDEhD�F+�F+�EhD�EhD2^
V@
@	Fv/7?</<�<�</<�</<�<10Ih�Iha�@RX87���8Y3!'3#2,���
��2�����CL@@Fv/7?<?�/�/<�<..10Ih�Iha�@RX87���8Y7#3#"'&54632�\\�z��)zWO@@	Fv/7/</</<�</<�<10Ih�Iha�@RX87���8Y#53#5322k11W������R@�
 @!
	
	
		
	

	
	
	Fv/7?</<�<�</<�<�.����ć.��ć.����ć.����ć.�����ć.��������................10Ih�
Iha�@RX87�
��8Y#3##7##7#737#7373373#3�TVV,:,^,:+UT!YW,:+]-9+La
a�ApA����ApA����Aq)��g�(j@-))@*#
Fv/7/</<��/<�</�/���...10Ih�)Iha�@RX87�)��8Y%#5&'32654'&'&546753#.#"g�.~
[%&:b:E@.vX"#:a:��UT�$&,0-TAY
TS�)()0	.�����M	
!+�@:,,@-

	

('	#" *%

Fv/7?<<?<<�/�/��/<�</<�</<�</<�<�.���..10Ih�,Iha�@RX87�,��8Y%#"=432##"=43254#"3254#"32�jiij��0�iiii+**+��+**+p{{Izz���X�zzIzz��IEEIE_IEEIE���N!)�@A**@+#

"%(Fv/7?<?/��/�/�</��.��ć.���..........10Ih�*Iha�@RX87�*��8Y!#'#"'&547&5463274#"6'32�p&DL@(&p/E75BVPL9Tu.#6R=
&>I1.BwBB;8JD5PCsUI[X5&2+�ـ*<.�W�>@@Fv/7/</</<�<10Ih�Iha�@RX87���8Y#53�22W�u�`J	<@

@	Fv/7??/�..10Ih�
Iha�@RX87�
��8Y&547WW>hh����;����u�`J	<@

@Fv/7??/�..10Ih�
Iha�@RX87�
��8Y%'654'7h>XX>hռ�:����:�I(GOS@@
	

Fv/7/</<...............10Ih�Iha�@RX87���8Y''7'7'37G}],33,]}m8m�g'��'g>K��Kz�f@,@

	
	Fv/7?</</<�</<�<�<�<10Ih�Iha�@RX87���8Y%##5#53533z�7��7����@�����z5@
@Fv/7//..10Ih�Iha�@RX87���8Y%'7.De����>@@Fv/7/</</<�<10Ih�Iha�@RX87���8Y%#53���]����r7@@
	Fv/7?//�10Ih�Iha�@RX87���8Y7#"&54632�2%%&'m��#OI@@	Fv/7/</<�.���..10Ih�Iha�@RX87���8Y##�/�O�g�.��bM	O@@
	
Fv/7??��/<�</<�<10Ih�Iha�@RX87���8Y%#"=43254#"32b����a9999���໻��ii�hk%E_@&@Fv/7?<?/<�<�<�.���..10Ih�Iha�@RX87���8Y!#57%]]��6hh,dM[@$@	
Fv/7?<??���</��....10Ih�Iha�@RX87���8Y3!654'&#"#632d#t��й<]�HT�?:�lU5V�](��hP-h@+..@/,$**$#'
!''Fv/7?/���<�</�</�<��...10Ih�.Iha�@RX87�.��8Y%#"'&5473327654'&'567654'&#"#>32h(*NL+)[#
 7
TOACR<G�O0430N	$" N"@BU_DK11+eC

@:@

	

	

	Fv/7?<?</<�</<�<�</<�<�.���..10Ih�Iha�@RX87���8Y%##5#533#e*[��*�x~~~e`��"��-��cCg@*@

	Fv/7??</��<�/�/<�<�<......10Ih�Iha�@RX87���8Y%#"'7327654'&#"#!#632c(-Lo&R/
R�)D&"�O7?x,;# $We�81+��eC
c@(!!@"




Fv/7??<�/<�/�/��.���..10Ih�!Iha�@RX87�!��8Y%#"'&54?36324'&#"3276e',JJ,'6sl��_�L59;4MNi���!!!1_C^@%@Fv/7?<?<�<�.���.....10Ih�Iha�@RX87���8Y##5_�g��C���e)��gO"2]@%33@4
+#'/Fv/7?/�/��/�</�<��..10Ih�3Iha�@RX87�3��8Y%#"'&547&54632'4&#"32764'&#"3276g'+MM+'G=QDCR=G\#
 #%" " �O0441OW01JF\^DK10�!22!
2�#"#*fO"b@'##@$Fv/7?</�/<�/�/��.���..10Ih�#Iha�@RX87�#��8Y#7#"'&5476324'&#"3276f7sk�K%#(,JK+(_�Og��0,ML4::5K!"!�����
F@@Fv/7??��/<�<10Ih�Iha�@RX87���8Y#"'&54632#"&54632�


V((��&'(����B@@
		Fv/7?/�/<�..10Ih�Iha�@RX87���8Y#"&54632'7
.DV''(����	v�j@,@		Fv/7//�.��ć.���.......10Ih�Iha�@RX87���8Y-5%
v��\��	�I�G��jzSS@@	Fv/7/</<�<�<........10Ih�Iha�@RX87���8Y!5!!5!z��d��d?�?	v�j@,@		Fv/7//�.��ć.���.......10Ih�Iha�@RX87���8Y%5-5v����\��G��G�9��WQ$_@&%%@&	"Fv/7?/���</<�</�/��..10Ih�%Iha�@RX87�%��8Y#54654&#"#>32#"&54632W5\l+ZMA?Pi
�8)7
4r$"<AVW�<(((t^=Ky@5LL@M-.F'4>H
!:+0B:04Fv/7?///���/<���</�/�/���.....10Ih�4LIha�@RX87�L��8Y#"'#"54763273327654'&#"327#"'&547676324'&#"3276t$
$
9-
%#A7)!%MA28C*$`(1BN*!�
	((y91@
CBg93E2'�E21G5A0';7BV=P9E@�H<H/:P?mnCr!vC
y@6@	

Fv/7?<?</<�<�.��ć.���.....10Ih�Iha�@RX87���8Y!#'##3'vo_gzg
^^C�x��*fCg@+@ 
Fv/7?<?<�</<�<�</<�</�/�.10Ih�Iha�@RX87���8Y%+32'4&+3264&+3276f���BFMXm+/0,	-&'1!��CSCP4(�/%�%�&2�'��iMX@"
 @!	


Fv/7??���<�</<�<..10Ih�
Iha�@RX87�
��8Y%#"'&=47632#&#"32767i&*PQ*&&*Q�d-

!
�S0571U�T16�<"$�%&!#'iCW@!@	
Fv/7?<?<�<�</<�</<�<10Ih�Iha�@RX87���8Y%+3254'&+32i����`
!DD>��@���$!�t5[Cm@/@

	
	Fv/7?<?</<�<�<�</<�<�<�<10Ih�Iha�@RX87���8Y)!#3#3[��&����C\�]�5[C	b@(

@		Fv/7?<?</<�<�</<�<�<�<10Ih�
Iha�@RX87�
��8Y#3##![���h&�]�C0��`M"{@6##@$!
"
!"!Fv/7?<??���<�<�</<<�</<�<�<�<.10Ih�#Iha�@RX87�#��8Y%#5#"=47632#&#"3276=#53`L	3�"'O�_*


/�2(��R18�<##�$&&$>S)gCb@*@
		
Fv/7?<?</<�</<�</<�<10Ih�Iha�@RX87���8Y!#5##3353ggpggpg��C��AOCl@0@
	
	
	Fv/7?<?<�<�</<�<�<�<10Ih�Iha�@RX87���8Y)53#5!#3O��WWUU]�\\�v;��UCW@!

@
	
	Fv/7?<?<�<�/<�<�<..10Ih�
Iha�@RX87�
��8Y%+52765#53U�ok.7���j^	\0`C
l@/@
	
	
	Fv/7?<?</<�<�.���.....10Ih�Iha�@RX87���8Y!##33`j^hhVkf��C����:VCN@@Fv/7?<?<�</<�<�<10Ih�Iha�@RX87���8Y)33V��g�C�qCo@0@
			



Fv/7?<?</<�</<�<�.���....10Ih�Iha�@RX87���8Y!#'#373q]LL]hAGbS��C��-cC	k@.

@
		Fv/7?<?</<�</<�<�.���..10Ih�
Iha�@RX87�
��8Y!##33cjffqadQ��C��R!��oM"O@##@$	Fv/7??��/<�</<�<10Ih�#Iha�@RX87�#��8Y%#"'&=463254'&#"3276o),RR,)URR,)b!!!!�U2662U�Tg52T��$&&$�$%%(hC
U@!@Fv/7?<?</<�</�/<�<.10Ih�Iha�@RX87���8Y+#324'&#3276h�4g�O*&i:8���C93O8�)��gM&k@+''@(
#Fv/7?<?/<��/<�</<�<�.���..10Ih�'Iha�@RX87�'��8Y%#'#"'&=4763254'&#"3276gC)U

Q)%%)QQ)%a
  

 

�l7t[81T�T1661T��%&&%�%&&"nC^@&@

Fv/7?<?<�</�/<�<.....10Ih�Iha�@RX87���8Y!#'#3274+32n}gh�P.+s	VS��C31Q��^�"��nG"Y@###@$Fv/7??���<�</�/�..10Ih�#Iha�@RX87�#��8Y%#"'332654'&'&54632#&#"n[Q�_	='<e	<RJ�];B%/E$�Qa�="-2.XJY�@>

(&jCY@#@	Fv/7?<?<�</<�<�<�<10Ih�Iha�@RX87���8Y###5!jnhnD��b'��iCP@@
	
	Fv/7??<�/<�</<�<10Ih�Iha�@RX87���8Y%#"'&53327653i&)RR)&b
!!
b�U1771U��t%&&%�vCl@/@Fv/7?<?<�.��ć.���...10Ih�Iha�@RX87���8Y#3vzg{hIJC��C��j�CK@@
	Fv/7?<?<......10Ih�Iha�@RX87���8Y#'#37�DC11CDi<<C����C����>vC�@C@

		


	
	Fv/7?<?<�.��ć.�������........10Ih�Iha�@RX87���8Y!#'#373vx66xrrv88vr��
#����}CJ@		@
Fv/7?<?</<�<...10Ih�	Iha�@RX87�	��8Y#537}�h�z;;C����\��tCk@,@	Fv/7?<?<�<�<�.���........10Ih�Iha�@RX87���8Y3!#5t������C�b�]|�aCY@#@	Fv/7?<?<�<�</<�<�<10Ih�Iha�@RX87���8Y#3#3��JJ��@��m��#OI@@	Fv/7/</<�.���..10Ih�Iha�@RX87���8Y#3#/�/J�|�aCY@#@	Fv/7?<?<�<�</<�<�<10Ih�Iha�@RX87���8Y#53#53�II��@b@_q?@@Fv/7/</<...10Ih�Iha�@RX87���8Y#'#73q9pp9�R_���2�C^��>@@Fv/7/</</<�<10Ih�Iha�@RX87���8Y!5!^��,�>F�9@@Fv/7/</<..10Ih�Iha�@RX87���8Y3#FmRS�n&��j�&b@)''@(
&	""
Fv/7?<??/���/<�</�....10Ih�'Iha�@RX87�'��8Y%&#"327#5#"&5476324#"'67632
&2\\W8K+):8"C1U0N38�
>�ENF79$!
u,1'+L!��oC"b@(##@$
	


	Fv/7??<?<?��/�/<�<<�<..10Ih�#Iha�@RX87�#��8Y%#"'#36324'&#"3276o%@C/Y\-A+#a&&&&�G<K^UC��^)"0)+,#..#-,$//$0��`�J@@


Fv/7??��/�....10Ih�Iha�@RX87���8Y%#"'&547632&#"327`5LR1,,1RG35#**)2=A;VU;A3H'!.-!')��rC
b@(!!@"Fv/7?<???<��/<�</��<<..10Ih�!Iha�@RX87�!��8Y!#5#"'&54763234'&#"3276r[-DA'
&BD2X[('('U]K>GJ<JX��-$..#--$..#��w�U@
@ 

Fv/7??��/<�</�<....10Ih�Iha�@RX87���8Y%327#"'&547632&'&#"w�%)Y1lR2/-2RT/'Z$$�)$+kA;UU>DL@3($$(>RIq@2@

	
	

Fv/7?<?<?<�<�</<�<<�</<�<10Ih�
Iha�@RX87���8Y#"3###535476;RS!	<=]44&!FS�
'V��:V<E!�[o�)g@+**@+	"	&Fv/7????<���/<�<�</<�...10Ih�*Iha�@RX87�*��8Y%#"'7325#"'&'&547632534'&#"3276o�[E'19d%E-%OD%X[&&&&�;A4�g+#1(,�8WP�-#//#,-#0/$5[C[@%@
	


	Fv/7?<?<?�/<�</<�<.10Ih�Iha�@RX87���8Y!#54#"#3632[]48]]4A+�O[�C��Z*"0IGIl@/@
	
	
Fv/7??<?<�<�<�/<�</�/<�<10Ih�
Iha�@RX87���8Y#"&54632#535#533�H�VV�L
&&&&��]�]��_�[1I
i@,@Fv/7??<?<�<�<�/<�</��<�<10Ih�Iha�@RX87���8Y#"'&54632#*#5325#531
w<
M%R�
&&�љa8?]-cC
�@<@
		

		

	
	Fv/7?<?<?</<�<�.��ć.���.....10Ih�Iha�@RX87���8Y!#'#373cnk]]chl��C����qCN@@Fv/7?<?<�</<�<�<10Ih�Iha�@RX87���8Y!##53\R��\z�#o@0$$@%	
#

	Fv/7?<?<?<�</<�<�</<�</<�<..10Ih�$Iha�@RX87�$��8Y!#54'&#"#54#"#367632>32z]	
@
]X%	.&
�#^��R)
��@D+0!..b�^@&@	
	
		Fv/7?<?<?�/<�<�</<�<.10Ih�	Iha�@RX87���8Y!#54#"#3632b]5
%]X:E]�O9"��W^���s�G@ 
@!Fv/7??��/�/�10Ih� Iha�@RX87�
��8Y%#"'&5476324'&#"3276s+/QQ0**0QQ/+a&&&&�T;CC;TT;BB;T*!**!+*!**!�ar�
b@(!!@"
	


	Fv/7??<?<?��/�/<�<<�<..10Ih�!Iha�@RX87�!��8Y%#"'#36324'&#"3276r
&AE0X\-CA'
`'(('�G=J^�-V^M>E-#..#--#//#�ar�
b@(!!@"Fv/7?<???<��/<�</��<<..10Ih�!Iha�@RX87�!��8Y#5#"'&547632534'&#"3276r[-DA'
&BC3X[('('��]K>GI<KWO�-$..#-.#//#0`�K@@


Fv/7/</............10Ih�Iha�@RX87���8Y"5#3546327&F9X]$!(
\�^W�r�"9//[B��N�"Y@###@$Fv/7??�<���</�/�..10Ih�#Iha�@RX87�#��8Y%#"'332654'&'&54632&#"NJ<{Y$,K+E83HU".J
.u;Eq.$ :8E72*""L��D�s@4@

	

	Fv/7?<?</<�<�</<�</<�<�<10Ih�Iha�@RX87���8Y#"&=#53533#;Dj/,33\88*?#/�VllV�)6��Z�P@@	
Fv/7??<�/<�</<�<10Ih�Iha�@RX87���8Y%#"&=332=3ZKGHJ]55]�IRRI��OO�
p�W@"@Fv/7?<?<�.���...10Ih�Iha�@RX87���8Y#3prlreDB��r���}�J@@
	Fv/7?<?<.....10Ih�Iha�@RX87���8Y#'#377}KH""HKc
22 ��r�������*f�O@@


	Fv/7?<?<........10Ih�Iha�@RX87���8Y!#'#7'373fe95iicc44ge���‰��!�ao�[@$@	Fv/7?<?<�.���.....10Ih�Iha�@RX87���8Y#73o�a&xfCC��Ӊ���;U�k@,@	Fv/7?<?<�<�<�.���........10Ih�Iha�@RX87���8Y3!#5U������V8V^�^2".h@-//@0.	*)!
%
.
Fv/7?<//�<�/<�/<�<�<..10Ih�
/Iha�@RX87�/��8Y"#"&545654'&5354&547632#&72
	D+
5MM	#
	33
)�.D@*Dq
-	T#E)]22]-��C�C?@@Fv/7?</</<�<10Ih�Iha�@RX87���8Y#3�88�^�^2"*i@-++@,!

&%*

 !"!
Fv/7?</<��</<�/<�<�<..10Ih�+Iha�@RX87�+��8Y%#&#"#5376=4767&'&=4'&#5362K
K
	#	33
)96
1�q-	S#E)]22],E&Ob3�~I@@Fv/7/</<��.....10Ih�Iha�@RX87���8Y%#"&#"5>3232767~#
x!'- y $�0 A
0��O��F@@Fv/7/<//�<......10Ih�Iha�@RX87���8Y7#34'&#"3276�\\��'?�Q�?@@	Fv/7/</</�/�10Ih�Iha�@RX87���8Y2#"&546#2#"&546
  � 
�i'�9@@Fv/7/</<..10Ih�Iha�@RX87���8Y#3'mQR�n}�V]@!@
	
	Fv/7//<�</��.���.......10Ih�	Iha�@RX87���8Y73#"'532654#"�=@)$)'9(0$9�OW�#^@%$$@%	!Fv/7//���</<�</�/��..10Ih�$Iha�@RX87�$��8Y47676=33273#"&4632#"&95\l+ZMA?Pi8)7
4r$"<AVW�'(((��v�&$C��v�&$���v�&$k��v�&$r��v�&$���v&$phC�@F@

	

	Fv/7?<?</<�<�<�</<�/<�<�<�.���....10Ih�Iha�@RX87���8Y35'#3#3#37�-gz�OOOO�]^C\�]�bZ���'�ViM&&���5[�&(C��5[�&(���5[�&(k��5[�&(���7E�&,�C��>L�&,�����7J�&,�k���,F�&,���rCn@.@	
Fv/7?<?</<�<�<�</<�</<�<�<�<10Ih�Iha�@RX87���8Y%+3254'&+32'#53r����`
!DD>Y����@���$!�t�]��$Y�&1�r���!��o�&2C����n�&2�����"��q�&2k����l�&2�r���+��y�&2
�
��!��oO&2��'��i�&8C��'��i�&8���'��i�&8k��'��i�&8���}�&<�3��hP%^@%&&@'
%"Fv/7?<?/�/�<�/<�<�<...10Ih�&Iha�@RX87�&��8Y3#4632#727654'&'567654'&#"�TSBCR<G(*N
 %�AV_DK11VO04]"
N"%��&��j%&DC�8��&��j%&D��8��&��j"&Dk�8��&��j%&Dr�8��&��j&D��8��&��jD&Dp�8
����#(3}@644@5
*)$
(.($,2&"Fv/7?<?<����/�/<�</��<............10Ih�4Iha�@RX87�4��8Y7#"&546324#"'632632327#"7&#"5&#"32�?)71(#%C"B/!!.;
�#EH!5n
##N!EOI54K!w.d35S@Ul,(@�jj[6��0�V`�&F������w%&HC�8����w%&H��8����w"&Hk�8����w&H��8��5J%&C��8��CI%&��!�8��4P"&
k���8��>Q&�����8��.b%&Qr�8����s%&RC�8����s%&R��8����s"&Rk�8����s%&Rr�8����s&R��8��s�#c@&$$@%"
"#	!  !#
"!Fv/7??/</<��/�/��.���..10Ih�$Iha�@RX87�$��8Y%#"'&5476324'&#"3276#s+/QQ0**0QQ/+a&&&&�/��T;CC;TT;BB;T*!**!+*!**!@����6��Z%&XC�8��6��Z%&X��8��6��Z"&Xk�8��6��Z&X��8��!�ao%&\��8��!�ao&\��8IG�	_@'

@		Fv/7?<?<�<�</<�</<�<10Ih�
Iha�@RX87�
��8Y!#535#533G�VV�L]�]����uM)�@<**@+"!&

Fv/7?<???<�/<�<�<��</<�</<�<�<10Ih�*Iha�@RX87�*��8Y3#"'&=476323#3#3'54'&#"3276�#O!!O"�FFFF�
 6,[�Z,5
\�]�b��;&&;�:	%%!���� (r@1))@*%
! '#

Fv/7?<?/����/<�<��/�</�....10Ih�)Iha�@RX87�)��8Y7#"'&547632632327#"7&#"4#"32�&+!!+'(+"�G(>'M
N
+4;cc:4,08?ql,k�jjvwv��q�&<���?�Q�?@@Fv/7/</<...10Ih�Iha�@RX87���8Y3#'#��HT65S�fAAj_&E@@		Fv/7//��/�/�10Ih�	Iha�@RX87���8Y2#"&546"32654&�&88&&88&$###1%&11&%1
0�`�G@@		
	
Fv/7/<</<<��..10Ih�Iha�@RX87���8Y#6323273#"&#"?W"f"."h
�c55@6���5@
@Fv/7//..10Ih�Iha�@RX87���8Y7'�.D�������X?�G�=@@	Fv/7/</<....10Ih�Iha�@RX87���8Y7'7'?.DC.D������5�Q�'��XPX����U	A@

@Fv/7//........10Ih�
Iha�@RX87�
��8Y'7'7�>�t'��!w�U�
f�NR�b����zr&�&~||||
~4(~�J�h�		p	�
`
��l

��,����n�b&�p�p����P�
�!!�"\"�#�$$�%<%�&J&�'('�'�(4))�*r+8+�,�-�..�/�0:0�1x2
2�3z4@4�5�6,6�7,7�8(8�9@:,:�;h;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�;�<�<�<�<�<�<�<�=============b=b=b=b=�=�=�=�=�=�=�>�>�>�???4?J@@2@H@^@t@�@�@�@�@�A�A�A�A�A�BBBB0BFB\BrB�B�B�CjC�C�C�C�C�C�EE"E:EREjE�E�E�E�E�E�E�FF*FBFZFrFrGHG`GxG�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�G�H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\H\IPJ:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:J:JPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJPJ�J�J�J�J�K@K@K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�K�LL*L*L*L�L�L�L�L�L�MM4�2�����z����)���������u�u�I��������m�.�k�,�(�+�-�+�1�)�*��������9���*�'�'�5�5�0�)�A�;�0�:��-�!�(�)�"�"�&�'������|�m�|��2�F�&�!�0���>�!�5�I�_�-�q��.����0�B�L�6�
��*�!�;�^���^��������������������������������������������?������������i����}�������9��������'�5�5�5�5�7�>�7�,��$�!��"��+��!�'�'�'�'���3�&�&�&�&�&�&�
�0�����5�C�4�>��.��������6�6�6�6�!��!��������������������������������������������������I����������������������������������!�����������������������������������������������������?�����j��0����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������?�5���������{6	


!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a�������������������������������bc�d�e�������f����g�����h���jikmln�oqprsutvw�xzy{}|��~�����	
��
���
!"#$%&'()*+,-��./0123456789:;<��=>?@ABCDEFGHIJK��LMNOPQRSTU����VWXYZ[\]^_`abcdefghijk�lmno��p�qrstuv���������wxyz{|}~������������������������������������������������������������������������������������������������������������������������������������	


��!"���#�������	overscoremu1middotAmacronamacronAbreveabreveAogonekaogonekCcircumflexccircumflexCdotcdotDcarondcaronDslashEmacronemacronEbreveebreveEdotedotEogonekeogonekEcaronecaronGcircumflexgcircumflexGdotgdotGcedillagcedillaHcircumflexhcircumflexHbarhbarItildeitildeImacronimacronIbreveibreveIogonekiogonekIJijJcircumflexjcircumflexKcedillakcedillakgreenlandicLacutelacuteLcedillalcedillaLcaronlcaronLdotldotNacutenacuteNcedillancedillaNcaronncaronnapostropheEngengOmacronomacronObreveobreve	Odblacute	odblacuteRacuteracuteRcedillarcedillaRcaronrcaronSacutesacuteScircumflexscircumflexTcedillatcedillaTcarontcaronTbartbarUtildeutildeUmacronumacronUbreveubreveUringuring	Udblacute	udblacuteUogonekuogonekWcircumflexwcircumflexYcircumflexycircumflexZacutezacuteZdotzdotlongs
Aringacute
aringacuteAEacuteaeacuteOslashacuteoslashacutetonos
dieresistonos
Alphatonos	anoteleiaEpsilontonosEtatonos	IotatonosOmicrontonosUpsilontonos
OmegatonosiotadieresistonosAlphaBetaGammaEpsilonZetaEtaThetaIotaKappaLambdaMuNuXiOmicronPiRhoSigmaTauUpsilonPhiChiPsiIotadieresisUpsilondieresis
alphatonosepsilontonosetatonos	iotatonosupsilondieresistonosalphabetagammadeltaepsilonzetaetathetaiotakappalambdanuxiomicronrhosigma1sigmatauupsilonphichipsiomegaiotadieresisupsilondieresisomicrontonosupsilontonos
omegatonos	afii10023	afii10051	afii10052	afii10053	afii10054	afii10055	afii10056	afii10057	afii10058	afii10059	afii10060	afii10061	afii10062	afii10145	afii10017	afii10018	afii10019	afii10020	afii10021	afii10022	afii10024	afii10025	afii10026	afii10027	afii10028	afii10029	afii10030	afii10031	afii10032	afii10033	afii10034	afii10035	afii10036	afii10037	afii10038	afii10039	afii10040	afii10041	afii10042	afii10043	afii10044	afii10045	afii10046	afii10047	afii10048	afii10049	afii10065	afii10066	afii10067	afii10068	afii10069	afii10070	afii10072	afii10073	afii10074	afii10075	afii10076	afii10077	afii10078	afii10079	afii10080	afii10081	afii10082	afii10083	afii10084	afii10085	afii10086	afii10087	afii10088	afii10089	afii10090	afii10091	afii10092	afii10093	afii10094	afii10095	afii10096	afii10097	afii10071	afii10099	afii10100	afii10101	afii10102	afii10103	afii10104	afii10105	afii10106	afii10107	afii10108	afii10109	afii10110	afii10193	afii10050	afii10098WgravewgraveWacutewacute	Wdieresis	wdieresisYgraveygrave	afii00208
underscoredbl
quotereversedhhL�	+

!"#$%&'()*+,-./0123456789:;<=>?@AB*DEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a����d��
.�&23�4,0/�5�C�krmno�p�sql'��$�5��%�6�bcdefghijklmnopqrstuvwxyz{|}~������������������������������������������������������������������������������������������������������������	


!"#&'()*+,-./01234789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcefghijtuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������	

 !"#$%()-1:
~����������O\_s���   
" &!&""��
�����������Q^p���     
&!&""��:����������Lb���"&&&&��	


!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a���������������������������������������������������������������������������������������������������������������������������	


!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abdefghijklmnopqrsuvwxyz{|}~�������������������������������������������������������������������������������������������������������������������������������	

����
!"#$&'()*+,-./02345���8	

																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																																												





















































































































































































































































































































































































































































































































































































��������2	LARA@ 
&�C����`CuMonofonto      
����7���MONR00�-._<����|���|����C�
 �8������66L?@
�Rhelpers/config.php000064400000005005151165644000010166
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTicketsProConfig
{
	protected $config;
	protected $db;

	protected $multiple = array('captcha_enabled_for',
'admin_groups');
	
	public function __construct() {
		$this->db = JFactory::getDbo();
		$this->load();
	}
	
	public function get($key, $default=false, $explode=false) {
		if (isset($this->config->{$key})) {
			return $explode ? $this->explode($this->config->{$key}) :
$this->config->{$key};
		}
		
		return $default;
	}
	
	public function getKeys() {
		return array_keys((array) $this->config);
	}
	
	public function getData() {
		return $this->config;
	}
	
	public function reload() {
		$this->load();
	}
	
	protected function load() {
		// reset the values
		$this->config = new stdClass();
		
		// prepare the query
		$query 	= $this->db->getQuery(true);
		$query->select('*')->from('#__rsticketspro_configuration');
		$this->db->setQuery($query);
		
		// run the query
		if ($results = $this->db->loadObjectList())
		{
			foreach ($results as $result)
			{
				if (in_array($result->name, $this->multiple))
				{
					$result->value = explode(',', $result->value);
				}
				$this->config->{$result->name} = $result->value;
			}
		}
	}
	
	protected function explode($string) {
		$string = str_replace(array("\r\n", "\r"),
"\n", $string);
		return explode("\n", $string);
	}
	
	protected function implode($string) {
		return implode("\n", $string);
	}
	
	protected function convert($key, &$value) {
		if (is_array($value)) {
			$value = implode(",", $value);
		}
	}
	
	public function set($key, $value) {
		if (isset($this->config->{$key})) {
			// convert values to appropriate type
			$this->convert($key, $value);
			
			// refresh our value
			$this->config->{$key} = $value;
			
			// prepare the query
			$query = $this->db->getQuery(true);
			$query->update('#__rsticketspro_configuration')
				 
->set($this->db->qn('value').'='.$this->db->q($value))
				 
->where($this->db->qn('name').'='.$this->db->q($key));
			$this->db->setQuery($query);
			
			// run the query
			return $this->db->execute();
		}
		
		return false;
	}
	
	public static function getInstance() {
		static $inst;
		if (!$inst) {
			$inst = new RSTicketsProConfig();
		}
		
		return $inst;
	}
}helpers/emails.php000064400000033604151165644000010201 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTicketsProEmailsHelper
{
	protected static $from;
	protected static $fromName;

	protected static function prepareEmailAddress($department_id)
	{
		// get department
		$department = RSTicketsProHelper::getDepartment($department_id);

		// prepare from name and email address
		if ($department->email_use_global)
		{
			if (RSTicketsProHelper::getConfig('email_use_global'))
			{
				// if we are using global settings, get them from the Joomla! config
				$config         = JFactory::getConfig();
				self::$from     = $config->get('mailfrom');
				self::$fromName = $config->get('fromname');
			}
			else
			{
				// if we are using RSTickets! Pro settings, get them from the
RSTickets! Pro config
				self::$from     =
RSTicketsProHelper::getConfig('email_address');
				self::$fromName =
RSTicketsProHelper::getConfig('email_address_fullname');
			}
		}
		else
		{
			self::$from     = $department->email_address;
			self::$fromName = $department->email_address_fullname;
		}
	}

	// cleaner proxy function for _getEmail()
	public static function getEmail($type, $tag = null)
	{
		// get current language
		if (is_null($tag))
		{
			$tag = JFactory::getLanguage()->get('tag');
		}

		return self::_getEmail($type, $tag);
	}

	// searches for emails defined under the $tag language
	// and reverts to english if not found
	protected static function _getEmail($type, $tag)
	{
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);

		$query->select('*')
			->from($db->qn('#__rsticketspro_emails'))
			->where($db->qn('lang') . '=' .
$db->q($tag))
			->where($db->qn('type') . '=' .
$db->q($type));
		$db->setQuery($query);
		if ($email = $db->loadObject())
		{
			if ($email->published)
			{
				// found entry for the selected language, return it
				return $email;
			}
		}
		else
		{
			// default to english
			return self::_getEmail($type, 'en-GB');
		}

		return false;
	}

	// actual email sending happens here
	public static function send($from, $fromName, $recipient, $subject, $body,
$mode = false, $cc = null, $bcc = null, $attachment = null, $replyTo =
null, $replyToName = null)
	{
		try
		{
			$mailer = JFactory::getMailer();
			$mailer->setSender(array($from, $fromName));

			$mailer->setSubject($subject);
			$mailer->setBody($body);

			// Are we sending the email as HTML?
			if ($mode)
			{
				$mailer->IsHTML(true);
			}

			$mailer->addRecipient($recipient);
			$mailer->addCC($cc);
			$mailer->addBCC($bcc);
			$mailer->addAttachment($attachment);

			// Take care of reply email addresses
			$hasReplyTo = false;
			if (is_array($replyTo))
			{
				$numReplyTo = count($replyTo);
				for ($i = 0; $i < $numReplyTo; $i++)
				{
					if ($mailer->addReplyTo($replyTo[$i], $replyToName[$i]))
					{
						$hasReplyTo = true;
					}
				}
			}
			elseif ($replyTo)
			{
				if ($mailer->addReplyTo($replyTo, $replyToName))
				{
					$hasReplyTo = true;
				}
			}

			// Add sender to replyTo only if no replyTo received
			$mailer->setSender(array($from, $fromName, !$hasReplyTo));

			return $mailer->Send();
		}
		catch (Exception $e)
		{
			JFactory::getApplication()->enqueueMessage($e->getMessage(),
'warning');
			return false;
		}
	}

	// send predefined email messages
	public static function sendEmail($type, $data = array())
	{
		$lang = JFactory::getLanguage();
		$lang->load('com_rsticketspro', JPATH_ADMINISTRATOR,
'en-GB', true);
		$lang->load('com_rsticketspro', JPATH_ADMINISTRATOR,
$lang->getDefault(), true);
		$lang->load('com_rsticketspro', JPATH_ADMINISTRATOR, null,
true);

		$replacements = array(
			'{live_site}' => JUri::root()
		);

		switch ($type)
		{
			// sent to the staff member when a ticket gets assigned to him
			case 'add_ticket_staff':
				self::prepareEmailAddress($data['department_id']);

				// get email
				$email = self::getEmail('add_ticket_staff');
				if (!$email) {
					return false;
				}

				// get ticket
				$ticket = &$data['ticket'];
				// get department
				$department =
RSTicketsProHelper::getDepartment($data['department_id']);

				$customer = JFactory::getUser($ticket->customer_id);
				$staff    = JFactory::getUser($ticket->staff_id);

				// get latest message for ticket data
				$db    = JFactory::getDbo();
				$query = $db->getQuery(true);
				$query->select($db->qn('message'))
					->from($db->qn('#__rsticketspro_ticket_messages'))
					->where($db->qn('ticket_id') . '=' .
$db->q($data['ticket']->id))
					->where($db->qn('user_id') . ' != ' .
$db->q('-1'))
					->order($db->qn('date') . ' ' .
$db->escape('desc'));
				$db->setQuery($query, 0, 1);
				$message = $db->loadResult();

				// ticket data
				$replacements['{ticket}']  =
RSTicketsProHelper::route(JUri::root() .
'index.php?option=com_rsticketspro&view=ticket&cid=' .
$ticket->id . ':' .
JFilterOutput::stringURLSafe($ticket->subject));
				$replacements['{message}'] = $message;
				$replacements['{code}']    = $ticket->code;
				$replacements['{subject}'] = $ticket->subject;
				// department data
				$replacements['{department_name}'] =
$replacements['{department-name}'] =
JText::_($department->name);
				$replacements['{department_id}']   =
$replacements['{department-id}'] = $department->id;
				// priority
				$replacements['{priority}'] =
JText::_($ticket->priority->name);
				// status
				$replacements['{status}'] =
JText::_($ticket->status->name);
				// customer data
				$replacements['{customer_name}']     =
$replacements['{customer-name}'] = $customer->name;
				$replacements['{customer_email}']    =
$replacements['{customer-email}'] = $customer->email;
				$replacements['{customer_username}'] =
$replacements['{customer-username}'] = $customer->username;
				// staff data
				$replacements['{staff_name}']     =
$replacements['{staff-name}'] = $staff->name;
				$replacements['{staff_email}']    =
$replacements['{staff-email}'] = $staff->email;
				$replacements['{staff_username}'] =
$replacements['{staff-username}'] = $staff->username;
				// custom fields
				$fieldsText = '';
				foreach ($ticket->fields as $field)
				{
					if (in_array($field->type, array('select',
'multipleselect', 'checkbox')))
					{
						$field->value = str_replace("\n", ', ',
$field->value);
					}

					$fieldsText .= '<p>' . JText::_($field->label) .
': ' . $field->value . '</p>';
					$replacements['{field-' . $field->name . '}'] =
$field->value;
				}
				$replacements['{custom_fields}'] =
$replacements['{custom-fields}'] = $fieldsText;

				$emailSubject = '[' . $ticket->code . '] ' .
$ticket->subject;
				$emailMessage = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

				self::send(self::$from, self::$fromName, $staff->email,
$emailSubject, $emailMessage, true);
				break;
			case 'notification_department_change':
				self::prepareEmailAddress($data['to']);
				// get email
				$email = self::getEmail('notification_department_change');

				if (!$email) {
					return false;
				}
				// get ticket
				$ticket = &$data['ticket'];
				// get department
				$department =
RSTicketsProHelper::getDepartment($data['to']);

				$customer = JFactory::getUser($ticket->customer_id);
				$staff    = JFactory::getUser($ticket->staff_id);

				// get latest message for ticket data
				$db    = JFactory::getDbo();
				$query = $db->getQuery(true);
				$query->select($db->qn('message'))
					->from($db->qn('#__rsticketspro_ticket_messages'))
					->where($db->qn('ticket_id') . '=' .
$db->q($data['ticket']->id))
					->where($db->qn('user_id') . ' != ' .
$db->q('-1'))
					->order($db->qn('date') . ' ' .
$db->escape('desc'));
				$db->setQuery($query, 0, 1);
				$message = $db->loadResult();

				// ticket data
				$replacements['{ticket}']   =
RSTicketsProHelper::route(JUri::root() .
'index.php?option=com_rsticketspro&view=ticket&cid=' .
$ticket->id . ':' .
JFilterOutput::stringURLSafe($ticket->subject));
				$replacements['{message}']  = $message;
				$replacements['{code}']     = $ticket->code;
				$replacements['{new_code}'] = $data['code'];
				$replacements['{subject}']  = $ticket->subject;
				// department data
				$replacements['{department_name}'] =
$replacements['{department-name}'] =
JText::_($department->name);
				$replacements['{department_id}']   =
$replacements['{department-id}'] = $department->id;
				// priority
				$replacements['{priority}'] =
JText::_($ticket->priority->name);
				// status
				$replacements['{status}'] =
JText::_($ticket->status->name);
				// customer data
				$replacements['{customer_name}']     =
$replacements['{customer-name}'] = $customer->name;
				$replacements['{customer_email}']    =
$replacements['{customer-email}'] = $customer->email;
				$replacements['{customer_username}'] =
$replacements['{customer-username}'] = $customer->username;
				// staff data
				$replacements['{staff_name}']      =
$replacements['{staff-name}'] = $staff->name;
				$replacements['{staff_email}']     =
$replacements['{staff-email}'] = $staff->email;
				$replacements['{staff_username}']  =
$replacements['{staff-username}'] = $staff->username;
				$replacements['{department_from}'] =
JText::_($data['ticket']->department->name);
				$replacements['{department_to}']   =
JText::_($department->name);

				// custom fields
				$fieldsText = '';
				foreach ($ticket->fields as $field)
				{
					if (in_array($field->type, array('select',
'multipleselect', 'checkbox')))
					{
						$field->value = str_replace("\n", ', ',
$field->value);
					}

					$fieldsText .= '<p>' . JText::_($field->label) .
': ' . $field->value . '</p>';
					$replacements['{field-' . $field->name . '}'] =
$field->value;
				}
				$replacements['{custom_fields}'] =
$replacements['{custom-fields}'] = $fieldsText;

				$emailSubject = '[' . $data['code'] . ']
' . $ticket->subject;
				$emailMessage = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

				self::send(self::$from, self::$fromName, $customer->email,
$emailSubject, $emailMessage, true);
				break;
			case 'feedback_followup_email':
				self::prepareEmailAddress($data['department_id']);
				$email = self::getEmail('feedback_followup_email');
				if (!$email) {
					return false;
				}

				// get ticket
				$ticket = &$data['ticket'];
				// get department
				$department =
RSTicketsProHelper::getDepartment($data['department_id']);

				$customer = JFactory::getUser($ticket->customer_id);
				$staff    = JFactory::getUser($ticket->staff_id);

				// get latest message for ticket data
				$db    = JFactory::getDbo();
				$query = $db->getQuery(true);
				$query->select($db->qn('message'))
					->from($db->qn('#__rsticketspro_ticket_messages'))
					->where($db->qn('ticket_id') . '=' .
$db->q($data['ticket']->id))
					->where($db->qn('user_id') . ' != ' .
$db->q('-1'))
					->order($db->qn('date') . ' ' .
$db->escape('desc'));
				$db->setQuery($query, 0, 1);
				$message = $db->loadResult();

				// ticket data
				$replacements['{ticket}']  =
RSTicketsProHelper::route(JUri::root() .
'index.php?option=com_rsticketspro&view=ticket&cid=' .
$ticket->id . ':' .
JFilterOutput::stringURLSafe($ticket->subject));
				$replacements['{message}'] = $message;
				$replacements['{code}']    = $ticket->code;
				$replacements['{subject}'] = $ticket->subject;
				// department data
				$replacements['{department_name}'] =
$replacements['{department-name}'] =
JText::_($department->name);
				$replacements['{department_id}']   =
$replacements['{department-id}'] = $department->id;
				// priority
				$replacements['{priority}'] =
JText::_($ticket->priority->name);
				// status
				$replacements['{status}'] =
JText::_($ticket->status->name);
				// customer data
				$replacements['{customer_name}']     =
$replacements['{customer-name}'] = $customer->name;
				$replacements['{customer_email}']    =
$replacements['{customer-email}'] = $customer->email;
				$replacements['{customer_username}'] =
$replacements['{customer-username}'] = $customer->username;
				// staff data
				$replacements['{staff_name}']     =
$replacements['{staff-name}'] = $staff->name;
				$replacements['{staff_email}']    =
$replacements['{staff-email}'] = $staff->email;
				$replacements['{staff_username}'] =
$replacements['{staff-username}'] = $staff->username;

				$access_code = md5($ticket->id . ' | ' .
$customer->email);

				$no  =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&cid='
. $ticket->id .
'&task=ticket.rate&rating=1&access_code=' .
$access_code);
				$yes =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&cid='
. $ticket->id .
'&task=ticket.rate&rating=5&access_code=' .
$access_code);

				$replacements['{no}'] = $no;
				$replacements['{yes}'] = $yes;
				$replacements['{feedback}'] =
JText::sprintf('RST_FEEDBACK_EMAIL', $no, $yes);

				// custom fields
				$fieldsText = '';
				foreach ($ticket->fields as $field)
				{
					if (in_array($field->type, array('select',
'multipleselect', 'checkbox')))
					{
						$field->value = str_replace("\n", ', ',
$field->value);
					}

					$fieldsText .= '<p>' . JText::_($field->label) .
': ' . $field->value . '</p>';
					$replacements['{field-' . $field->name . '}'] =
$field->value;
				}
				$replacements['{custom_fields}'] =
$replacements['{custom-fields}'] = $fieldsText;

				$emailSubject = '[' . $ticket->code . '] ' .
$ticket->subject;
				$emailMessage = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

				self::send(self::$from, self::$fromName, $customer->email,
$emailSubject, $emailMessage, true);
		}
	}
}helpers/export.php000064400000016375151165644000010256 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('_JEXEC') or die('Restricted access');

abstract class RsticketsExport
{
    public static function buildCSV($data, $fileHash = '')
	{
        // accepted headers and keys
        $accepted_headers = array(
            'date',
            'last_reply',
            'replies',
            'code',
            'subject',
            'message',
            'last_reply_message',
            'customer',
            'priority',
            'status',
            'staff'
        );

        $enable_time_spent =
RSTicketsProHelper::getConfig('enable_time_spent');

		if ($enable_time_spent)
		{
			$accepted_headers[] = 'time_spent';
		}

        $rows = '';
        if ($fileHash == '')
        {
            $headers = array();
            foreach ($accepted_headers as $header)
            {
                if ($header == 'time_spent')
                {
                    $headers[] =  JText::_('RST_TIME_SPENT');
                }
                else
                {
                    $headers[] =  
JText::_('RST_TICKET_'.strtoupper($header));
                }
            }

            // Add header to rows
            $rows .= '"'.implode('","',
$headers).'"'."\n";
        }

        // load the dbo object
        $db  = JFactory::getDbo();

        // Add the data to rows
        foreach ($data as $i => $entry)
        {
            $row = array_flip($accepted_headers);

            // get the ticket 1st message
            $query   = $db->getQuery(true)
                ->select($db->qn('message'))
               
->from($db->qn('#__rsticketspro_ticket_messages'))
                ->where($db->qn('ticket_id') .
'=' . $db->q($entry->id))
                ->where($db->qn('user_id') . '!='
. $db->q('-1'))
                ->order($db->qn('date') . ' ' .
$db->escape('asc'));

            $row['message'] = $db->setQuery($query, 0,
1)->loadResult();

            // get the last reply
            $query   = $db->getQuery(true)
                ->select($db->qn('message'))
               
->from($db->qn('#__rsticketspro_ticket_messages'))
                ->where($db->qn('ticket_id') .
'=' . $db->q($entry->id))
                ->where($db->qn('user_id') . '!='
. $db->q('-1'))
                ->order($db->qn('date') . ' ' .
$db->escape('desc'));

            $row['last_reply_message'] = $db->setQuery($query,
0, 1)->loadResult();

            // if they are the same, than the last reply does not exists
            if ($row['message'] ===
$row['last_reply_message'])
            {
                $row['last_reply_message'] = '';
            }

            // remake the array with the fields that we need to output and
remodel for a human readable format
            foreach ((array) $entry as $key => $value)
            {
                //skip if is not supposed to be added
                if (!in_array($key,  $accepted_headers))
                {
                    continue;
                }

                if ($key == 'time_spent' &&
!$enable_time_spent)
                {
                    unset($row[$key]);
                    continue;
                }

                 switch ($key)
				 {
                     case 'date':
                     case 'last_reply':
                        $row[$key] = JHtml::_('date', $value,
RSTicketsProHelper::getConfig('date_format'));
                     break;

                     case 'staff';
                         $row[$key] = $entry->staff_id ? $value :
JText::_('RST_UNASSIGNED');
                     break;

                     case 'time_spent';
                         $row[$key] = RSTicketsProHelper::showTotal($value,
true);
                     break;

                     default:
                         $row[$key] = $value;
                     break;
                 }
            }

            array_walk($row, array('RsticketsExport',
'fixValue'));

            $rows .=
'"'.implode('","',$row).'"';
            $rows .="\n";
        }

        return $rows;
    }

    public static function fixValue(&$string, $key)
    {
        if (strlen($string) && in_array(substr($string, 0, 1),
array('=', '+', '-', '@')))
        {
            $string = ' ' . $string;
        }

		$string = str_replace(array('\\r', '\\n',
'\\t', '"'),
array("\015","\012","\011",
"'"), $string);
    }

    public static function writeCSV($query, $totalItems, $from, $fileHash,
$filename)
	{
        if
(!is_writable(JFactory::getConfig()->get('tmp_path'))) {
            throw new
Exception(JText::sprintf('COM_RSTICKETSPRO_TMP_PATH_NOT_WRITABLE',
JFactory::getConfig()->get('tmp_path')));
        }

        $db	= JFactory::getDbo();
        $db->setQuery($query, $from,
RSTicketsProHelper::getConfig('export_limit'));
        $data = $db->loadObjectList();

        $fileContent = RsticketsExport::buildCSV($data, $fileHash);

        // build the file hash if not already created
        if (!$fileHash) {
            $now 		= JHtml::date('now','D, d M Y
H:i:s');
            $date 		=
JHtml::date('now','Y-m-d_H-i-s');
            $filename 	= $filename.'-'.$date.'.csv';
            $fileHash 	= md5($filename.$now);
        }

        // create or append the hashed file and put content
        if ($fileContent) {
            if (!file_put_contents(self::getTmpPath($fileHash),
$fileContent, FILE_APPEND)) {
                throw new
Exception(JText::sprintf('COM_RSTICKETSPRO_COULD_NOT_EXPORT_CSV_PATH',
self::getTmpPath($fileHash)));
            }
        } else {
            throw new
Exception(JText::_('COM_RSTICKETSPRO_EXPORT_NO_DATA'));
        }

        $newFrom 		= ($from +
RSTicketsProHelper::getConfig('export_limit'));
        $checkRemaining = $totalItems - $newFrom;

        return (object) array(
            'newFrom' 	=> ($checkRemaining > 0 ? $newFrom :
$totalItems),
            'fileHash'	=> $fileHash
        );
    }

    public static function getCSV($fileHash)
	{
        $file 		= self::getTmpPath($fileHash);
        $content 	= is_file($file) ? file_get_contents($file) :
'';
        return $content;
    }

    protected static function getTmpPath($fileHash)
	{
        return
JFactory::getConfig()->get('tmp_path').'/'.$fileHash;
    }

    public static function buildCSVHeaders($filename)
	{
        // disable caching
        $now = JHtml::date('now','D, d M Y H:i:s');
        $date = JHtml::date('now','Y-m-d_H-i-s');
        $filename = $filename.'-'.$date.'.csv';

        header("Expires: Tue, 03 Jul 2001 06:00:00 GMT");
        header("Cache-Control: max-age=0, no-cache, must-revalidate,
proxy-revalidate");
        header("Last-Modified: ".$now." GMT");

        // force download
        header("Content-Type: application/force-download");
        header("Content-Type: application/octet-stream");
        header("Content-Type: application/download");

        // disposition / encoding on response body
        header("Content-Disposition:
attachment;filename=".$filename);
        header("Content-Transfer-Encoding: binary");
    }

}helpers/fields.php000064400000025315151165644000010175 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTicketsProFieldHelper
{
	protected static function isCode($value)
	{
		if (strpos(strtolower($value), '//<code>') !== false)
		{
			return eval($value);
		}

		return $value;
	}
	
	public static function showCustomField($field, $selected = array(),
$editable = true, $department_id = 0)
	{
		if (empty($field) || empty($field->type))
		{
			return false;
		}

		if (isset($field->value))
		{
			switch ($field->type)
			{
				case 'freetext':
				case 'textbox':
				case 'textarea':
				case 'calendar':
				case 'calendartime':
				case 'radio':
					$selected[$field->name] = $field->value;
					break;

				case 'select':
				case 'multipleselect':
				case 'checkbox':
					$selected[$field->name] = self::explode($field->value);
					break;
			}
		}

		$template = '%s';
		$name = $department_id ?
'rst_custom_fields[department_'.$department_id.']['.$field->name.']'
: 'rst_custom_fields['.$field->name.']';

		// Create the XML
		$xml = new SimpleXMLElement('<field></field>');
		$xml->addAttribute('label', $field->label);
		$xml->addAttribute('description', $field->description);

		if ($field->required)
		{
			$xml->addAttribute('required', 'true');
		}

		if ($department_id)
		{
			$xml->addAttribute('showon',
'jform[department_id]:' . $department_id);
		}

		if (!$editable)
		{
			$template .= '<div
class="rst_custom_field_label">' . $field->label .
'</div><div
class="rst_custom_field_value">%s</div>';
		}

		switch ($field->type)
		{
			case 'freetext':
				$jfield = JFormHelper::loadFieldType('rsticketsprohtml');
				$jfield->setup($xml, self::isCode($field->values));

				return $jfield->renderField(array('class' =>
'rst_custom_field'));
				break;

			case 'textbox':
				$value = isset($selected[$field->name]) ? $selected[$field->name]
: self::isCode($field->values);

				if ($editable)
				{
					$xml->addAttribute('name', $name);
					$xml->addAttribute('class', 'rst_textbox');

					$jfield = JFormHelper::loadFieldType('text');
					$jfield->setup($xml, $value);
					$html = $jfield->renderField(array('class' =>
'rst_custom_field'));

					if ($field->additional)
					{
						$html = str_replace('<input', '<input ' .
$field->additional, $html);
					}

					return $html;
				}
				else
				{
					return sprintf($template, RSTicketsProHelper::htmlEscape($value));
				}
				break;

			case 'textarea':
				$value = isset($selected[$field->name]) ? $selected[$field->name]
: self::isCode($field->values);

				if ($editable)
				{
					$xml->addAttribute('name', $name);
					$xml->addAttribute('class', 'rst_textarea');

					$jfield = JFormHelper::loadFieldType('textarea');
					$jfield->setup($xml, $value);
					$html = $jfield->renderField(array('class' =>
'rst_custom_field'));

					if ($field->additional)
					{
						$html = str_replace('<textarea', '<textarea
' . $field->additional, $html);
					}

					return $html;
				}
				else
				{
					return sprintf($template,
nl2br(RSTicketsProHelper::htmlEscape($value)));
				}
				break;

			case 'select':
				self::getOptions($field, $xml, $selected, $values);

				if ($editable)
				{
					$xml->addAttribute('name', $name . '[]');
					$xml->addAttribute('class', 'rst_select');

					$jfield = JFormHelper::loadFieldType('list');
					$jfield->setup($xml, $values);
					$html = $jfield->renderField(array('class' =>
'rst_custom_field'));

					if ($field->additional)
					{
						$html = str_replace('<select', '<select ' .
$field->additional, $html);
					}

					return $html;
				}
				else
				{
					return sprintf($template,
nl2br(RSTicketsProHelper::htmlEscape(implode("\n", $values))));
				}
				break;

			case 'multipleselect':
				self::getOptions($field, $xml, $selected, $values);

				if ($editable)
				{
					$xml->addAttribute('name', $name);
					$xml->addAttribute('class', 'rst_select');
					$xml->addAttribute('multiple', 'multiple');

					$jfield = JFormHelper::loadFieldType('list');
					$jfield->setup($xml, $values);
					$html = $jfield->renderField(array('class' =>
'rst_custom_field'));

					if ($field->additional)
					{
						$html = str_replace('<select', '<select ' .
$field->additional, $html);
					}

					return $html;
				}
				else
				{
					return sprintf($template,
nl2br(RSTicketsProHelper::htmlEscape(implode("\n", $values))));
				}
				break;

			case 'checkbox':
				self::getOptions($field, $xml, $selected, $values);

				if ($editable)
				{
					$xml->addAttribute('name', $name);

					$jfield = JFormHelper::loadFieldType('checkboxes');
					$jfield->setup($xml, $values);
					$html = $jfield->renderField(array('class' =>
'rst_custom_field'));

					if ($field->additional)
					{
						$html = str_replace('<input', '<input ' .
$field->additional, $html);
					}

					return $html;
				}
				else
				{
					return sprintf($template,
nl2br(RSTicketsProHelper::htmlEscape(implode("\n", $values))));
				}

				break;

			case 'radio':
				self::getOptions($field, $xml, $selected, $values);

				$value = isset($values[0]) ? $values[0] : null;

				if ($editable)
				{
					$xml->addAttribute('name', $name);

					if (version_compare(JVERSION, '4.0', '>='))
					{
						$jfield = JFormHelper::loadFieldType('radiobasic');
					}
					else
					{
						$jfield = JFormHelper::loadFieldType('radio');
					}

					$jfield->setup($xml, $value);
					$html = $jfield->renderField(array('class' =>
'rst_custom_field'));

					if ($field->additional)
					{
						$html = str_replace('<input', '<input ' .
$field->additional, $html);
					}

					return $html;
				}
				else
				{
					return sprintf($template, RSTicketsProHelper::htmlEscape($value));
				}
				break;

			case 'calendar':
			case 'calendartime':
				$value = isset($selected[$field->name]) ? $selected[$field->name]
: self::isCode($field->values);

				if ($editable)
				{
					$xml->addAttribute('name', $name);

					if ($field->type === 'calendartime')
					{
						$format =
self::getCalendarFormat(RSTicketsProHelper::getConfig('date_format'));
						$xml->addAttribute('showtime', 'true');
					}
					else
					{
						$format =
self::getCalendarFormat(RSTicketsProHelper::getConfig('date_format_notime'));
					}

					$xml->addAttribute('format', $format);
					
					if ($field->additional)
					{
						$attributes = self::parseAttributes($field->additional);

						foreach ($attributes as $attribute => $val)
						{
							$xml->addAttribute($attribute, $val);
						}
					}

					$jfield = JFormHelper::loadFieldType('calendar');

					// Sanity check for value
					try
					{
						JFactory::getDate($value);
					}
					catch (Exception $e)
					{
						$value = null;
					}

					$jfield->setup($xml, $value);
					return $jfield->renderField(array('class' =>
'rst_custom_field'));
				}
				else
				{
					return sprintf($template, RSTicketsProHelper::htmlEscape($value));
				}
				break;
		}

		return false;
	}

	protected static function parseAttributes($string)
	{
		$parsed = array();

		// Let's grab all the key/value pairs using a regular expression
		if
(preg_match_all('/([\w:-]+)[\s]?(=[\s]?"([^"]*)")?/i',
$string, $attr))
		{
			$numPairs = count($attr[1]);
			for ($i = 0; $i < $numPairs; $i++)
			{
				$parsed[$attr[1][$i]] = $attr[3][$i];
			}
		}

		return $parsed;
	}

	protected static function getOptions($field, $xml, $selected,
&$values)
	{
		$values = array();
		$field->values = self::explode(self::isCode($field->values));
		if ($field->values)
		{
			foreach ($field->values as $string)
			{
				$disabled = false;
				if (strpos($string, '[d]') !== false)
				{
					$string = str_replace('[d]', '', $string);
					$disabled = true;
				}

				// <optgroup>
				if (strpos($string, '[g]') !== false)
				{
					$string = str_replace('[g]', '', $string);
					$option = $xml->addChild('option', $string);
					$option->addAttribute('value',
'<OPTGROUP>');
					continue;
				}
				if (strpos($string, '[/g]') !== false)
				{
					$string = str_replace('[/g]', '', $string);
					$option = $xml->addChild('option', $string);
					$option->addAttribute('value',
'</OPTGROUP>');
					continue;
				}

				$checked = false;
				if (strpos($string, '[c]') !== false)
				{
					$string = str_replace('[c]', '', $string);

					if (!isset($selected[$field->name]))
					{
						$checked = true;
					}
				}

				if (strpos($string, '|') !== false)
				{
					list($value, $text) = explode('|', $string, 2);
				}
				else
				{
					$value = $text = $string;
				}

				if (isset($selected[$field->name]) && in_array($value,
(array) $selected[$field->name]))
				{
					$checked = true;
				}

				$option = $xml->addChild('option', $text);
				$option->addAttribute('value', $value);
				if ($disabled)
				{
					$option->addAttribute('disabled', 'disabled');
				}
				if ($checked)
				{
					$values[] = $value;
				}
			}
		}
	}

	protected static function getCalendarFormat($format)
	{
		/*
		%a 	abbreviated weekday name D
		%A 	full weekday name l
		%b 	abbreviated month name M
		%B 	full month name F
		%C 	century number
		%d 	the day of the month ( 00 .. 31 ) d
		%e 	the day of the month ( 0 .. 31 ) j
		%H 	hour ( 00 .. 23 ) H
		%I 	hour ( 01 .. 12 ) h
		%j 	day of the year ( 000 .. 366 ) z
		%k 	hour ( 0 .. 23 ) G
		%l 	hour ( 1 .. 12 ) g
		%m 	month ( 01 .. 12 ) m
		%M 	minute ( 00 .. 59 ) i
		%n 	a newline character \n
		%p 	``PM'' or ``AM'' A
		%P 	``pm'' or ``am'' a
		%S 	second ( 00 .. 59 ) s
		%s 	number of seconds since Epoch (since Jan 01 1970 00:00:00 UTC) U
		%t 	a tab character \t
		%U, %W, %V 	the week number W
		%u 	the day of the week ( 1 .. 7, 1 = MON ) N
		%w 	the day of the week ( 0 .. 6, 0 = SUN ) w
		%y 	year without the century ( 00 .. 99 ) y
		%Y 	year including the century ( ex. 1979 ) Y
		%% 	a literal % character %
		*/

		$php = array('%', 'D', 'l', 'M',
'F', 'd', 'j', 'H', 'h',
'z', 'G', 'g', 'm', 'i',
"\n", 'A', 'a', 's', 'U',
"\t", 'W', 'N', 'w', 'y',
'Y');
		$js  = array('%%', '%a', '%A',
'%b', '%B', '%d', '%e',
'%H', '%I', '%j', '%k',
'%l', '%m', '%M', '%n',
'%p', '%P', '%S', '%s',
'%t', '%U', '%u', '%w',
'%y', '%Y');

		return str_replace($php, $js, $format);
	}
	
	protected static function explode($string)
	{
		$string = str_replace(array("\r\n", "\r"),
"\n", $string);
		return explode("\n", $string);
	}
}helpers/index.html000064400000000054151165644000010204
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>helpers/rsticketspro.php000064400000135710151165644000011464
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

require_once dirname(__FILE__) . '/config.php';
require_once dirname(__FILE__) . '/version.php';

if (!defined('RST_UPLOAD_FOLDER'))
{
	define('RST_UPLOAD_FOLDER', JPATH_SITE .
'/components/com_rsticketspro/assets/files');
}
if (!defined('RST_CATEGORY_THUMB_FOLDER'))
{
	define('RST_CATEGORY_THUMB_FOLDER', JPATH_SITE .
'/components/com_rsticketspro/assets/thumbs');
}

define('RST_STATUS_OPEN', 1);
define('RST_STATUS_CLOSED', 2);
define('RST_STATUS_ON_HOLD', 3);

define('RST_ASSIGNMENT_STATIC', 0);
define('RST_ASSIGNMENT_AUTO', 1);

define('RST_DEPARTMENT_RULE_RANDOM', 1);
define('RST_DEPARTMENT_RULE_SEQUENTIAL', 0);

JTable::addIncludePath(JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/tables');
JForm::addFormPath(JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/forms');
JForm::addFieldPath(JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/models/fields');

class RSTicketsProHelper
{
	public static function readConfig($force = false)
	{
		$config = RSTicketsProConfig::getInstance();

		if ($force)
		{
			$config->reload();
		}

		return $config->getData();
	}
	
	public static function cronPluginExists() {
		static $result;

		if (is_null($result)) {
			$result = JPluginHelper::getPlugin('system',
'rsticketsprocron');
		}

		return !empty($result);
	}

	public static function getConfig($name = null)
	{
		$config = RSTicketsProConfig::getInstance();
		if (is_null($name))
		{
			return $config->getData();
		}
		else
		{
			if ($name == 'show_alternative_email' &&
!self::cronPluginExists())
			{
				return false;
			}

			return $config->get($name);
		}
	}

	public static function saveSystemMessage($ticket_id, $data, $includeUser =
true)
	{
		// get the current user
		if ($includeUser)
		{
			$data['user_id'] = JFactory::getUser()->id;
		}

		JTable::addIncludePath(JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/tables');

		$message = JTable::getInstance('Ticketmessages',
'RsticketsproTable');
		$message->save(array(
			'ticket_id' => $ticket_id,
			'user_id'   => '-1',
			'message'   => serialize($data),
			'date'      => JFactory::getDate()->toSql(),
			'html'      => 0
		));
	}

	protected static function getSystemObject($type, $id, $escape = true)
	{
		static $cache;

		// Cache our data so we don't query the db often
		if (!is_array($cache))
		{
			$cache = array();
			$db    = JFactory::getDbo();

			// Load departments
			$query = $db->getQuery(true);
			$query->select($db->qn('id'))
				->select($db->qn('name'))
				->from($db->qn('#__rsticketspro_departments'));
			$cache['department'] =
$db->setQuery($query)->loadObjectList('id');

			// Load statuses
			$query = $db->getQuery(true);
			$query->select($db->qn('id'))
				->select($db->qn('name'))
				->from($db->qn('#__rsticketspro_statuses'));
			$cache['status'] =
$db->setQuery($query)->loadObjectList('id');

			// Load priorities
			$query = $db->getQuery(true);
			$query->select($db->qn('id'))
				->select($db->qn('name'))
				->from($db->qn('#__rsticketspro_priorities'));
			$cache['priority'] =
$db->setQuery($query)->loadObjectList('id');

			$cache['user'] = array(
				// Get the 'Unassigned' user.
				0 => (object) array(
					'name' => JText::_('RST_UNASSIGNED')
				)
			);
		}

		if ($type == 'user' && !isset($cache[$type][$id]))
		{
			$userField = RSTicketsProHelper::getConfig('show_user_info');
			$db        = JFactory::getDbo();
			$query     = $db->getQuery(true);

			$query->select($db->qn('username'))
				->select($db->qn('name'))
				->select($db->qn('email'))
				->from($db->qn('#__users'))
				->where($db->qn('id') . '=' .
$db->q($id));

			if ($user = $db->setQuery($query)->loadObject())
			{
				$cache[$type][$id] = (object) array('name' =>
$user->{$userField});
			}
		}

		// Found a match
		if (isset($cache[$type][$id]) &&
isset($cache[$type][$id]->name))
		{
			if ($escape)
			{
				return htmlentities($cache[$type][$id]->name, ENT_COMPAT,
'utf-8');
			}
			else
			{
				return $cache[$type][$id]->name;
			}
		}

		// Failsafe
		return JText::_('RST_SYSMESSAGE_MISSING');
	}


	public static function checkIfEmailExists($email)
	{
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);

		$query->select('id')
			->from($db->qn('#__users'))
			->where($db->qn('email') . ' = ' .
$db->q($email));
		$db->setQuery($query);

		return $db->loadResult();
	}

	protected static function parseSystemMessage($data)
	{
		$message = '';
		$data    = unserialize($data);

		switch ($data['type'])
		{
			case 'department':
				$from    = self::getSystemObject($data['type'],
$data['from']);
				$to      = self::getSystemObject($data['type'],
$data['to']);
				$user    = self::getSystemObject('user',
$data['user_id']);
				$message =
JText::sprintf('RST_SYSMESSAGE_TICKET_DEPARTMENT_CHANGE',
JText::_($from), JText::_($to), $user);
				break;

			case 'priority':
				$from    = self::getSystemObject($data['type'],
$data['from']);
				$to      = self::getSystemObject($data['type'],
$data['to']);
				$user    = self::getSystemObject('user',
$data['user_id']);
				$message =
JText::sprintf('RST_SYSMESSAGE_TICKET_PRIORITY_CHANGE',
JText::_($from), JText::_($to), $user);
				break;

			case 'status':
				$from    = self::getSystemObject($data['type'],
$data['from']);
				$to      = self::getSystemObject($data['type'],
$data['to']);
				$user    = self::getSystemObject('user',
$data['user_id']);
				$message =
JText::sprintf('RST_SYSMESSAGE_TICKET_STATUS_CHANGE',
JText::_($from), JText::_($to), $user);
				break;

			case 'staff':
				$from    = self::getSystemObject('user',
$data['from']);
				$to      = self::getSystemObject('user',
$data['to']);
				$user    = self::getSystemObject('user',
$data['user_id']);
				$message =
JText::sprintf('RST_SYSMESSAGE_TICKET_STAFF_CHANGE', $from, $to,
$user);
				break;

			case 'autoclose':
				$message = JText::sprintf('RST_SYSMESSAGE_TICKET_AUTO_CLOSE',
$data['days']);
				break;
		}

		return $message;
	}

	public static function addHistory($ticket_id, $type = 'view',
$user_id = null, $ip = null)
	{
		if (is_null($user_id))
		{
			$user_id = JFactory::getUser()->id;
		}
		if (is_null($ip))
		{
			$ip =
JFactory::getApplication()->input->server->get('REMOTE_ADDR',
'', 'string');
		}

		if (!RSTicketsProHelper::getConfig('store_ip'))
        {
            $ip = '0.0.0.0';
        }

		$table = JTable::getInstance('Tickethistory',
'RsticketsproTable');
		$table->save(array(
			'ticket_id' => $ticket_id,
			'user_id'   => $user_id,
			'ip'        => $ip,
			'date'      => JFactory::getDate()->toSql(),
			'type'      => $type,
		));
	}

	public static function getDepartment($department_id, $reload = false)
	{
		static $cache = array();

		if (!isset($cache[$department_id]) || $reload)
		{
			JTable::addIncludePath(JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/tables');

			$cache[$department_id] = JTable::getInstance('Departments',
'RsticketsproTable');
			$cache[$department_id]->load($department_id);
		}

		return $cache[$department_id];
	}

	// deprecated
	public static function getAdminGroups()
	{
		require_once dirname(__FILE__) . '/users.php';

		return RSTicketsProUsersHelper::getAdminGroups();
	}

	// deprecated
	public static function getAdminUsers()
	{
		require_once dirname(__FILE__) . '/users.php';

		return RSTicketsProUsersHelper::getAdminUsers();
	}

	public static function mailRoute($url, $xhtml = true, $Itemid = 0)
	{
		$url .= $Itemid ? '&Itemid=' . $Itemid : '';
		$path = JUri::root(false) . $url;

		return self::route($path, $xhtml, $Itemid, false);
	}

	public static function route($url, $xhtml = true, $Itemid = '',
$absolute = false)
	{
		if (!$Itemid &&
RSTicketsProHelper::getConfig('calculate_itemids'))
		{
			$Itemid = RSTicketsProHelper::_findRoute($url);
		}

		if (strpos($url, 'Itemid=') === false)
		{
			if (!$Itemid)
			{
				$Itemid =
JFactory::getApplication()->input->getInt('Itemid', 0);
				if ($Itemid)
				{
					$Itemid = 'Itemid=' . $Itemid;
				}
			}
			elseif ($Itemid)
			{
				$Itemid = 'Itemid=' . (int) $Itemid;
			}

			if ($Itemid)
			{
				$url .= (strpos($url, '?') === false) ? '?' .
$Itemid : '&' . $Itemid;
			}
		}

		$converted_url = JRoute::_($url, $xhtml);
		if ($absolute)
		{
			$uri           = JUri::getInstance();
			$converted_url = $uri->toString(array('scheme',
'host', 'port')) . $converted_url;
		}

		return $converted_url;
	}

	public static function _findRoute($url)
	{
		$app = JFactory::getApplication();
		if ($app->isClient('administrator'))
		{
			return '';
		}
		static $cache;

		if (!is_array($cache))
		{
			$cache = array();
		}

		$hash = md5($url);
		if (isset($cache[$hash]))
		{
			return $cache[$hash];
		}

		$query = array();
		$url   = str_replace('index.php?', '', $url);
		$parts = explode('&', $url);
		foreach ($parts as $part)
		{
			$part            = explode('=', $part, 2);
			$query[$part[0]] = @$part[1];
		}

		if (!isset($query['option']))
		{
			return '';
		}

		if (isset($query['view']) && $query['view']
== 'ticket')
		{
			$query           = array();
			$query['option'] = 'com_rsticketspro';
			$query['view']   = 'tickets';
		}

		if ($app->input->getCmd('option') ==
'com_rsticketspro')
		{
			$count = 0;
			foreach ($query as $var => $value)
			{
				if ($app->input->getCmd($var) &&
$app->input->getCmd($var) == $value)
				{
					$count++;
				}
			}
			if ($count == count($query) &&
$app->input->getInt('Itemid'))
			{
				return $app->input->getInt('Itemid');
			}
		}

		$menus     = $app->getMenu('site');
		$component = JComponentHelper::getComponent($query['option']);
		$items     = $menus->getItems('component_id',
$component->id);

		if ($items)
		{
			foreach ($items as $item)
			{

				if (!isset($item->query))
				{
					continue;
				}

				$count = 0;
				foreach ($item->query as $var => $value)
				{
					if (isset($query[$var]) && $value == $query[$var])
					{
						$count++;
					}
				}

				if ($count == count($query))
				{
					$cache[$hash] = $item->id;
				}
			}
		}

		if (isset($cache[$hash]))
		{
			return $cache[$hash];
		}

		return '';
	}

	public static function getReplyAbove()
	{
		$use_editor =
RSTicketsProHelper::getConfig('allow_rich_editor');
		$use_text   =
RSTicketsProHelper::getConfig('use_reply_above');
		$text		= RSTicketsProHelper::getConfig('reply_above');
		if ($use_text)
		{
			if ($use_editor)
			{
				return '<p>----------' . $text .
'----------</p>';
			}
			else
			{
				return '----------' . $text . '----------';
			}
		}
		
		return '';
	}

	public static function getPriorities($show_please_select = false)
	{
		$return = array();
		$db 	= JFactory::getDbo();

		if ($show_please_select)
		{
			$return[] = JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT_PRIORITY'));
		}

		$query = $db->getQuery(true)
			->select('*')
			->from($db->qn('#__rsticketspro_priorities'))
			->where($db->qn('published') . ' = ' .
$db->q(1))
			->order($db->qn('ordering') . ' asc');

		if ($results = $db->setQuery($query)->loadObjectList())
		{
			foreach ($results as $result)
			{
				$return[] = JHtml::_('select.option', $result->id,
JText::_($result->name));
			}
		}

		return $return;
	}

	public static function getJSSubjects($subjects)
	{
		if (strpos($subjects, '<code>') !== false)
		{
			$subjects = eval($subjects);
		}

		if (!is_array($subjects)) {
			$values = str_replace(array("\r\n", "\r"),
"\n", $subjects);
			$values = explode("\n", $values);
		} else {
			$values = $subjects;
		}

		$return   = array();
		$return[] = "'':'" .
JText::_('RST_PLEASE_SELECT_SUBJECT', true) .
"'";

		foreach ($values as $value) {
			if (!empty($value)) {
				$return[] = json_encode($value) . ':' .
json_encode(JText::_($value));
			}
		}

		return $return;
	}

	public static function getStatuses()
	{
		$return = array();
		$db 	= JFactory::getDbo();

		$query = $db->getQuery(true)
			->select('*')
			->from($db->qn('#__rsticketspro_statuses'))
			->where($db->qn('published') . ' = ' .
$db->q(1))
			->order($db->qn('ordering') . ' asc');

		if ($results = $db->setQuery($query)->loadObjectList())
		{
			foreach ($results as $result)
			{
				$return[] = JHtml::_('select.option', $result->id,
JText::_($result->name));
			}
		}

		return $return;
	}

	public static function getDepartments($show_please_select = false)
	{
		$return = array();
		$db 	= JFactory::getDbo();

		if ($show_please_select)
		{
			$return[] = JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT_DEPARTMENT'));
		}

		$query = $db->getQuery(true)
			->select('*')
			->from($db->qn('#__rsticketspro_departments'))
			->where($db->qn('published') . ' = ' .
$db->q(1))
			->order($db->qn('ordering') . ' asc');

		if ($results = $db->setQuery($query)->loadObjectList())
		{
			$force_departments =
RSTicketsProHelper::getConfig('staff_force_departments');
			$is_staff          = RSTicketsProHelper::isStaff();
			$departments       = RSTicketsProHelper::getCurrentDepartments();

			foreach ($results as $result)
			{
				if ($is_staff && $force_departments &&
!in_array($result->id, $departments))
				{
					continue;
				}

				$return[] = JHtml::_('select.option', $result->id,
JText::_($result->name));
			}
		}

		return $return;
	}

	public static function getStaff($show_please_select = false,
$show_only_can_reply = false)
	{
		$db   	= JFactory::getDbo();
		$what 	= RSTicketsProHelper::getConfig('show_user_info');
		$return = array();

		if ($show_please_select)
		{
			$return[] = JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT_STAFF'));
		}

		if ($show_only_can_reply)
		{
			$query = $db->getQuery(true)
				->select($db->qn('id'))
				->from($db->qn('#__rsticketspro_groups'))
				->where($db->qn('answer_ticket') . ' = ' .
$db->q(1));

			$group_ids = $db->setQuery($query)->loadColumn();
		}

		$query = $db->getQuery(true)
			->select('*')
			->from($db->qn('#__rsticketspro_departments'))
			->where($db->qn('published') . ' = ' .
$db->q(1))
			->order($db->qn('ordering') . ' asc');

		if ($departments = $db->setQuery($query)->loadObjectList())
		{
			foreach ($departments as $department)
			{
				$optgroup        = new stdClass();
				$optgroup->value = '<OPTGROUP>';
				$optgroup->text  = JText::_($department->name);
				$return[]        = $optgroup;

				$query = $db->getQuery(true)
					->select($db->qn('user_id'))
					->from($db->qn('#__rsticketspro_staff_to_department'))
					->where($db->qn('department_id') . ' = ' .
$db->q($department->id));
				$users = $db->setQuery($query)->loadColumn();

				if ($show_only_can_reply)
				{
					if (empty($group_ids))
					{
						$users = array();
					}
					elseif ($users)
					{
						$query = $db->getQuery(true)
							->select($db->qn('user_id'))
							->from($db->qn('#__rsticketspro_staff'))
							->where($db->qn('group_id') . ' IN (' .
implode(',', $db->q($group_ids)) . ')')
							->where($db->qn('user_id') . ' IN (' .
implode(',', $db->q($users)) . ')');
						$users = $db->setQuery($query)->loadColumn();
					}
				}

				if ($users)
				{
					foreach ($users as $user_id)
					{
						$user     = JFactory::getUser($user_id);
						$return[] = JHtml::_('select.option',
$user->get('id'), $user->get($what));
					}
				}

				$optgroup        = new stdClass();
				$optgroup->value = '</OPTGROUP>';
				$optgroup->text  = '';
				$return[]        = $optgroup;
			}
		}

		return $return;
	}

	public static function getAvatar($user_id)
	{
		static $avatar_cache = array();
		if (!isset($avatar_cache[$user_id]))
		{
			$avatars = RSTicketsProHelper::getConfig('avatars');
			$icon    = RSTicketsProHelper::isStaff($user_id) ? 'staff' :
'user';
			$src     = JHtml::_('image', 'com_rsticketspro/' .
$icon . '-icon.png', '', array(), true, 1);

			switch ($avatars)
			{
				// Gravatar
				case 'gravatar':
					$user  = JFactory::getUser($user_id);
					$email = md5(strtolower(trim($user->get('email'))));
					$length = strlen(JUri::root(true).'/');
					$site_url = substr(JUri::root(), 0 , -$length);

					$src = 'https://www.gravatar.com/avatar/' . $email .
'?d=' . urlencode($site_url.JHtml::_('image',
'com_rsticketspro/' . $icon . '.png', '',
array(), true, 1));
					break;

				// Community Builder
				case 'comprofiler':
					require_once JPATH_ADMINISTRATOR .
'/components/com_comprofiler/plugin.foundation.php';

					global $_CB_framework;
					$cbUser = CBuser::getInstance($user_id);

					$avatar = $cbUser->getField('avatar', null,
'php', 'none', 'list');
					if (isset($avatar['avatar']))
					{
						$src = $avatar['avatar'];
					}
					else
					{
						$src = false;
					}
					break;

				// JomSocial
				case 'community':
					$file = JPATH_SITE .
'/components/com_community/libraries/core.php';
					if (file_exists($file))
					{
						require_once $file;
						$user = CFactory::getUser($user_id);
						$src  = $user->getThumbAvatar();
					}
					break;

				// Kunena
				case 'kunena':
					$file = JPATH_ADMINISTRATOR .
'/components/com_kunena/libraries/user/user.php';
					if (file_exists($file))
					{
						require_once $file;
						$user = KunenaUser::getInstance($user_id);
						$src  = $user->getAvatarURL();
					}
					elseif (file_exists(JPATH_LIBRARIES . '/kunena/factory.php')
|| class_exists('KunenaFactory'))
					{
						require_once JPATH_LIBRARIES . '/kunena/factory.php';
						$profile = KunenaFactory::getUser($user_id);
						$src     = $profile->getAvatarURL('list');
					}
					break;
			}

			$avatar_cache[$user_id] = $src;
		}

		return $avatar_cache[$user_id];
	}

	public static function explode($string)
	{
		$string = str_replace(array("\r\n", "\r"),
"\n", $string);

		return explode("\n", $string);
	}

	public static function showCustomField($field, $selected = array(),
$editable = true, $department_id = 0)
	{
		require_once dirname(__FILE__) . '/fields.php';

		return RSTicketsProFieldHelper::showCustomField($field, $selected,
$editable, $department_id);
	}
	
	public static function canDeleteTimeTracking($user_id =  null, $col =
'can_delete_time_history')
	{
		if (!$user_id)
		{
			$user = JFactory::getUser();
			if ($user->get('guest'))
			{
				return false;
			}
		}

		if (RSTicketsProHelper::isAdmin($user_id))
		{
			return true;
		}

		$user_id = (int) $user_id;
		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->qn('id'))
			->from($db->qn('#__rsticketspro_staff'))
			->where($db->qn('user_id'). '= '.
$db->q($user_id))
			->where($db->qn($col). '= '. $db->q(1));

		$db->setQuery($query);
		if ($db->loadResult())
		{
			return true;
		}

		return false;
	}

	public static function isStaff($user_id = null)
	{
		if (!$user_id)
		{
			if (JFactory::getUser()->get('guest'))
			{
				return false;
			}

			return JFactory::getSession()->get('rsticketspro.is_staff',
false);
		}

		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->qn('id'))
			->from($db->qn('#__rsticketspro_staff'))
			->where($db->qn('user_id') . ' = ' .
$db->q($user_id));
		if ($db->setQuery($query)->loadResult())
		{
			return true;
		}

		if (RSTicketsProHelper::isAdmin($user_id))
		{
			return true;
		}

		return false;
	}

	public static function getCurrentPermissions()
	{
		if (JFactory::getUser()->get('guest'))
		{
			return array();
		}

		return
JFactory::getSession()->get('rsticketspro.permissions',
array());
	}

	public static function getCurrentDepartments()
	{
		if (JFactory::getUser()->get('guest'))
		{
			return array();
		}

		return
JFactory::getSession()->get('rsticketspro.departments',
array());
	}

	public static function getPermissions($user_id)
	{
		$return = array();
		$user 	= JFactory::getUser($user_id);
		$db 	= JFactory::getDbo();

		$query = $db->getQuery(true)
			->select($db->qn('group_id'))
			->from($db->qn('#__rsticketspro_staff'))
			->where($db->qn('user_id') . ' = ' .
$db->q($user->id));

		if ($group_id = $db->setQuery($query)->loadResult())
		{
			$query = $db->getQuery(true)
				->select('*')
				->from($db->qn('#__rsticketspro_groups'))
				->where($db->qn('id') . ' = ' .
$db->q($group_id));
			$return = $db->setQuery($query)->loadObject();
		}
		elseif (RSTicketsProHelper::isAdmin($user_id))
		{
			$return = JTable::getInstance('Groups',
'RsticketsproTable');
		}

		return $return;
	}

	// $user_id = if left null, the current logged in user's signature is
retrieved
	// $raw 	= if set to true, it will grab the signature as it appears in the
database,
	//			  otherwise it will strip the tags if no rich editor is set
	public static function getSignature($user_id = null, $raw = false)
	{
		$user  = $user_id ? JFactory::getUser($user_id) : JFactory::getUser();
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);
		$query->select($db->qn('signature'))
			->from($db->qn('#__rsticketspro_staff'))
			->where($db->qn('user_id') . '=' .
$db->q($user->id));
		$db->setQuery($query);
		$signature = (string) $db->loadResult();

		if (!$raw)
		{
			$allowEditor = self::getConfig('allow_rich_editor');
			if (!$allowEditor)
			{
				$signature = strip_tags($signature);
			}
		}

		return $signature;
	}

	public static function isAdmin($user_id = null)
	{
		$user = $user_id ? JFactory::getUser($user_id) : JFactory::getUser();
		$admin_groups = RSTicketsProHelper::getAdminGroups();
		$user_groups = $user->getAuthorisedGroups();
		foreach ($user_groups as $user_group_id)
		{
			if (in_array($user_group_id, $admin_groups))
			{
				return true;
			}
		}

		return false;
	}

	public static function getConsecutiveReplies($ticket_id)
	{
		$replies = 0;
		$db      = JFactory::getDbo();
		$query   = $db->getQuery(true)
			->select($db->qn('user_id'))
			->from($db->qn('#__rsticketspro_ticket_messages'))
			->where($db->qn('ticket_id') . '=' .
$db->q($ticket_id))
			->where($db->qn('user_id') . '!=' .
$db->q('-1'))
			->where($db->qn('submitted_by_staff') . '=' .
$db->q('0'))
			->order($db->qn('date') . ' ' .
$db->escape('desc'));

		if ($users = $db->setQuery($query)->loadColumn())
		{
			foreach ($users as $user_id)
			{
				if (RSTicketsProHelper::isStaff($user_id))
				{
					break;
				}

				$replies++;
			}
		}

		return $replies;
	}

	public static function getExtension($filename)
	{
		return JFile::getExt($filename);
	}

	public static function isAllowedExtension($ext, $ext_array)
	{
		if (!is_array($ext_array))
		{
			return true;
		}
		if (count($ext_array) == 0)
		{
			return true;
		}
		if (count($ext_array) == 1 && trim($ext_array[0]) ==
'')
		{
			return true;
		}
		if (in_array('*', $ext_array))
		{
			return true;
		}

		// convert everything to lowercase
		$ext = strtolower($ext);
		array_walk($ext_array, array('RSTicketsProHelper',
'arraytolower'));

		return in_array($ext, $ext_array);
	}

	public static function arraytolower(&$value, $key)
	{
		$value = strtolower($value);
	}

	// deprecated
	public static function getEmail($type)
	{
		require_once JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/helpers/emails.php';

		return RSTicketsProEmailsHelper::getEmail($type);
	}

	public static function getFooter()
	{
		$footer = '<p style="text-align: center"><a
href="https://www.rsjoomla.com/joomla-components/joomla-help-desk.html"
title="Joomla! Help Desk Ticketing System"
target="_blank">Joomla! Help Desk Ticketing System</a>
by <a href="https://www.rsjoomla.com"
target="_blank" title="Joomla!
Extensions">RSJoomla!</a></p>';

		return $footer;
	}

	public static function shorten($string, $max = 255, $more =
'...')
	{
		$string_tmp = '';
		$exp        = explode(' ', $string);
		for ($i = 0; $i < count($exp); $i++)
		{
			if (strlen($string_tmp) + strlen($exp[$i]) < $max)
			{
				$string_tmp .= $exp[$i] . ' ';
			}
			else
			{
				break;
			}
		}
		$string = substr($string_tmp, 0, -1) . (strlen($string) >
strlen($string_tmp) ? $more : '');

		return RSTicketsProHelper::closeTags($string);
	}

	public static function closeTags($html)
	{
		preg_match_all('#<([a-z]+)(?: .*)?(?<![/|/ ])>#iU',
$html, $result);
		$openedtags = $result[1];
		preg_match_all('#</([a-z]+)>#iU', $html, $result);
		$closedtags = $result[1];
		$len_opened = count($openedtags);
		if (count($closedtags) == $len_opened)
		{
			return $html;
		}

		$openedtags = array_reverse($openedtags);
		for ($i = 0; $i < $len_opened; $i++)
		{
			if (!in_array($openedtags[$i], $closedtags))
			{
				$html .= '</' . $openedtags[$i] . '>';
			}
			else
			{
				unset($closedtags[array_search($openedtags[$i], $closedtags)]);
			}
		}

		return $html;
	}

	public static function sendMail($from, $fromname, $recipient, $subject,
$body, $mode = 0, $attachments = null, $cc = null, $bcc = null)
	{
		try
		{
			if (!is_array($recipient))
			{
				$recipient = array($recipient);
			}

			foreach ($recipient as $i => $r)
			{
				$r = trim($r);
				if (!JMailHelper::isEmailAddress($r))
				{
					unset($recipient[$i]);
				}
			}

			if (empty($recipient) || !count($recipient))
			{
				return false;
			}

			// Get a JMail instance
			$mail = JFactory::getMailer();

			$mail->ClearReplyTos();
			$mail->setSender(array($from, $fromname));
			$mail->setSubject($subject);
			$mail->setBody($body);

			// Are we sending the email as HTML?
			if ($mode)
			{
				$mail->IsHTML(true);
				$mail->AltBody = strip_tags($body);
			}

			$mail->addRecipient($recipient);
			$mail->ClearReplyTos();
			$mail->addReplyTo($from, $fromname);

			if (!empty($cc))
			{
				$cc = str_replace(array("\r\n", "\r"),
"\n", $cc);
				$cc = explode("\n", $cc);
				foreach ($cc as $i => $r)
				{
					$r = trim($r);
					if (!JMailHelper::isEmailAddress($r))
					{
						continue;
					}

					$mail->addCC($r);
				}
			}

			if (!empty($bcc))
			{
				$bcc = str_replace(array("\r\n", "\r"),
"\n", $bcc);
				$bcc = explode("\n", $bcc);
				foreach ($bcc as $i => $r)
				{
					$r = trim($r);
					if (!JMailHelper::isEmailAddress($r))
					{
						continue;
					}

					$mail->addBCC($r);
				}
			}

			if (is_array($attachments) && count($attachments))
			{
				foreach ($attachments as $attachment)
				{
					$mail->AddStringAttachment(file_get_contents($attachment->path),
$attachment->filename);
				}
			}

			return $mail->Send();
		}
		catch (Exception $e)
		{
			JFactory::getApplication()->enqueueMessage($e->getMessage(),
'warning');
			return false;
		}
	}

	public static function htmlEscape($val)
	{
		return htmlentities($val, ENT_COMPAT, 'UTF-8');
	}

	public static function sef($id)
	{
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);

		if (JFactory::getApplication()->isClient('administrator'))
		{
			return $id;
		}
		else
		{
			$query->select($db->qn('subject'))
				->from($db->qn('#__rsticketspro_tickets'))
				->where($db->qn('id') . ' = ' . (int) $id);
			$db->setQuery($query);
			$name = $db->loadResult();

			return $id . ':' . JFilterOutput::stringURLSafe($name);
		}
	}

	public static function showMessage($message)
	{
		if ($message->html == 1)
		{
			// message was saved in HTML format
			return RSTicketsProHelper::cleanHTML($message);
		}
		elseif ($message->html == 2)
		{
			// message was saved before the REV 9 update
			return '<p>' . nl2br($message->message) .
'</p>';
		}
		else
		{
			// message was saved in TEXT format

			// keep tabs and double spaces in proper format
			if ($message->user_id == '-1')
			{
				$message->message =
RSTicketsProHelper::parseSystemMessage($message->message);
			}
			else
			{
				$message->message =
RSTicketsProHelper::htmlEscape($message->message);
				$message->message = str_replace('  ',
'&nbsp;&nbsp;', $message->message);
				$message->message = str_replace("\t",
'&nbsp;&nbsp;&nbsp;&nbsp;',
$message->message);
			}

			return '<p>' . nl2br($message->message) .
'</p>';
		}
	}

	public static function filterText($text, $user = null)
	{
		// Punyencoding utf8 email addresses
		$text = JFilterInput::getInstance()->emailToPunycode($text);

		// Filter settings
		$config = JComponentHelper::getParams('com_config');
		if ($user && !empty($user->id))
		{
			$userGroups = JAccess::getGroupsByUser($user->get('id'));
		}
		else
		{
			static $filter;
			if (!$filter)
			{
				$filter = JFilterInput::getInstance(
					array('a', 'abbr', 'address',
'b', 'br', 'caption', 'center',
'dd', 'dl', 'dt', 'del',
'em', 'font', 'hr', 'i',
'img', 'ins', 'ul', 'li',
'mark', 'ol', 'p', 'span',
'small', 'strong', 'sub', 'sup',
'table', 'tbody', 'td', 'tr',
'th', 'thead', 'u', 'h1',
'h2', 'h3', 'h4', 'h5',
'h6'),
					array('size', 'src', 'href',
'title', 'rel', 'color', 'face',
'colspan', 'rowspan', 'align',
'bgcolor', 'border', 'cellpadding',
'cellspacing', 'valign', 'alt')
				);
			}
			
			return $filter->clean($text, 'html');
		}

		$filters = $config->get('filters');

		$blackListTags       = array();
		$blackListAttributes = array();

		$customListTags       = array();
		$customListAttributes = array();

		$whiteListTags       = array();
		$whiteListAttributes = array();

		$whiteList  = false;
		$blackList  = false;
		$customList = false;
		$unfiltered = false;

		// Cycle through each of the user groups the user is in.
		// Remember they are included in the Public group as well.
		foreach ($userGroups as $groupId)
		{
			// May have added a group by not saved the filters.
			if (!isset($filters->$groupId))
			{
				continue;
			}

			// Each group the user is in could have different filtering properties.
			$filterData = $filters->$groupId;
			$filterType = strtoupper($filterData->filter_type);

			if ($filterType == 'NH')
			{
				// Maximum HTML filtering.
			}
			elseif ($filterType == 'NONE')
			{
				// No HTML filtering.
				$unfiltered = true;
			}
			else
			{
				// Blacklist or whitelist.
				// Preprocess the tags and attributes.
				$tags           = explode(',', $filterData->filter_tags);
				$attributes     = explode(',',
$filterData->filter_attributes);
				$tempTags       = array();
				$tempAttributes = array();

				foreach ($tags as $tag)
				{
					$tag = trim($tag);

					if ($tag)
					{
						$tempTags[] = $tag;
					}
				}

				foreach ($attributes as $attribute)
				{
					$attribute = trim($attribute);

					if ($attribute)
					{
						$tempAttributes[] = $attribute;
					}
				}

				// Collect the blacklist or whitelist tags and attributes.
				// Each list is cummulative.
				if ($filterType == 'BL')
				{
					$blackList           = true;
					$blackListTags       = array_merge($blackListTags, $tempTags);
					$blackListAttributes = array_merge($blackListAttributes,
$tempAttributes);
				}
				elseif ($filterType == 'CBL')
				{
					// Only set to true if Tags or Attributes were added
					if ($tempTags || $tempAttributes)
					{
						$customList           = true;
						$customListTags       = array_merge($customListTags, $tempTags);
						$customListAttributes = array_merge($customListAttributes,
$tempAttributes);
					}
				}
				elseif ($filterType == 'WL')
				{
					$whiteList           = true;
					$whiteListTags       = array_merge($whiteListTags, $tempTags);
					$whiteListAttributes = array_merge($whiteListAttributes,
$tempAttributes);
				}
			}
		}

		// Remove duplicates before processing (because the blacklist uses both
sets of arrays).
		$blackListTags        = array_unique($blackListTags);
		$blackListAttributes  = array_unique($blackListAttributes);
		$customListTags       = array_unique($customListTags);
		$customListAttributes = array_unique($customListAttributes);
		$whiteListTags        = array_unique($whiteListTags);
		$whiteListAttributes  = array_unique($whiteListAttributes);

		// Unfiltered assumes first priority.
		if ($unfiltered)
		{
			// Dont apply filtering.
		}
		else
		{
			// Custom blacklist precedes Default blacklist
			if ($customList)
			{
				$filter = JFilterInput::getInstance(array(), array(), 1, 1);

				// Override filter's default blacklist tags and attributes
				if ($customListTags)
				{
					$filter->tagBlacklist = $customListTags;
				}

				if ($customListAttributes)
				{
					$filter->attrBlacklist = $customListAttributes;
				}
			}
			// Blacklists take second precedence.
			elseif ($blackList)
			{
				// Remove the whitelisted tags and attributes from the black-list.
				$blackListTags       = array_diff($blackListTags, $whiteListTags);
				$blackListAttributes = array_diff($blackListAttributes,
$whiteListAttributes);

				$filter = JFilterInput::getInstance($blackListTags,
$blackListAttributes, 1, 1);

				// Remove whitelisted tags from filter's default blacklist
				if ($whiteListTags)
				{
					$filter->tagBlacklist = array_diff($filter->tagBlacklist,
$whiteListTags);
				}
				// Remove whitelisted attributes from filter's default blacklist
				if ($whiteListAttributes)
				{
					$filter->attrBlacklist = array_diff($filter->attrBlacklist,
$whiteListAttributes);
				}
			}
			// Whitelists take third precedence.
			elseif ($whiteList)
			{
				// Turn off XSS auto clean
				$filter = JFilterInput::getInstance($whiteListTags,
$whiteListAttributes, 0, 0, 0);
			}
			// No HTML takes last place.
			else
			{
				$filter = JFilterInput::getInstance();
			}

			$text = $filter->clean($text, 'html');
		}

		return $text;
	}

	public static function cleanHTML($message)
	{
		$html = $message->message;
		
		if (function_exists('mb_convert_encoding'))
		{
			$html = mb_convert_encoding($html, 'HTML-ENTITIES',
'UTF-8');
		}

		if (class_exists('DOMDocument'))
		{
			$html = static::filterText($html,
JFactory::getUser($message->user_id));

			$doc    = new DOMDocument();
			$errors = libxml_use_internal_errors(true);
			$doc->loadHTML('<?xml version="1.0"
encoding="UTF-8"?><html_tags>' . $html .
'</html_tags>');
			$doc->encoding = 'UTF-8';
			libxml_clear_errors();
			$html =
substr($doc->saveHTML($doc->getElementsByTagName('html_tags')->item(0)),
strlen('<html_tags>'),
-strlen('</html_tags>'));

			libxml_use_internal_errors($errors);
		}

		return $html;
	}

	public static function trigger($event, $params)
	{
		static $app;

		if (is_null($app))
		{
			$app = JFactory::getApplication();

			JPluginHelper::importPlugin('rsticketspro');
		}
    
		// Prefix our events with 'onRsticketspro'
		$event = substr_replace($event, 'onRsticketspro', 0, 2);
		
		$app->triggerEvent($event, $params);
	}

	public static function tooltipClass()
	{
		static $loaded = false;

		if (!$loaded)
		{
			$loaded = true;

			static::tooltipLoad();
		}

		return 'hasPopover';
	}

	// Prepare the tooltip text
	public static function tooltipText($title, $content = '')
	{
		if ($content === '')
		{
			if (strpos($title, '::') !== false)
			{
				list($title, $content) = explode('::', $title);
			}
			else
			{
				$content = $title;
			}
		}
		// title="
		$result = htmlspecialchars(trim($title, ':')) .
'"';

		// "
		if (version_compare(JVERSION, '4.0', '>='))
		{
			if (JFactory::getLanguage()->isRtl())
			{
				$result .= ' data-bs-placement="left" ';
			}

			$result .= ' data-bs-content="' .
htmlspecialchars($content);
		}
		else
		{
			if (JFactory::getLanguage()->isRtl())
			{
				$result .= ' data-placement="left" ';
			}

			$result .= ' data-content="' .
htmlspecialchars($content);
		}

		return $result;
	}

	// Load tooltip
	public static function tooltipLoad()
	{
		JHtml::_('bootstrap.popover', '.hasPopover',
array('trigger' => 'hover focus'));
	}

	public static function renderModal($id, $args)
	{
		if (RSTicketsProHelper::getConfig('use_magnific_popup'))
		{
			return static::renderMagnificPopup($id, $args);
		}
		else
		{
			return JHtml::_('bootstrap.renderModal', $id, $args);
		}
	}

	public static function openModal($id)
	{
		if (RSTicketsProHelper::getConfig('use_magnific_popup'))
		{
			return "RSTicketsPro.openMagnificModal(event,
'#{$id}');";
		}
		else
		{
			return "jQuery('#{$id}').modal('show');";
		}
	}

	public static function renderMagnificPopup($id = null, $args = array())
	{
		if (is_null($id))
		{
			return '';
		}

		if (!isset($args['title']) || strlen($args['title'])
== 0)
		{
			return '';
		}

		if (!isset($args['url']) || strlen($args['url']) ==
0)
		{
			return '';
		}

		static $loadFiles;

		if (is_null($loadFiles))
		{
			JHtml::_('jquery.framework');
			JHtml::_('script',
'com_rsticketspro/jquery.magnific-popup.min.js',
array('relative' => true, 'version' =>
'auto'));
			JHtml::_('stylesheet',
'com_rsticketspro/magnific-popup.css', array('relative'
=> true, 'version' => 'auto'));

			JText::script('RST_JQUERY_NOT_FOUND');

			$loadFiles = true;
		}

		if (!isset($args['height']))
		{
			$args['height'] = 400;
		}

		$modal_html = '<div id="' . htmlspecialchars($id,
ENT_COMPAT, 'utf-8') . '"
class="rst-magnific-popup mfp-hide">
				<div class="magnific-header">
					<h3 id="rsdir-owner-reply-header">' .
htmlspecialchars($args['title'], ENT_COMPAT, 'utf-8') .
'</h3>
				</div>
				<div class="magnific-popup-body">
					<iframe style="height:
'.$args['height'].'px;" src="' .
htmlspecialchars($args['url'], ENT_COMPAT, 'utf-8') .
'"></iframe>
				</div>
				<button
title="'.JText::_('RST_CLOSE').'"
type="button"
class="mfp-close">&times;</button>
			</div>';

		return $modal_html;
	}

	public static function anonymise($id, $anonymiseJoomlaData = null)
    {
        $db         = JFactory::getDbo();
        $query      = $db->getQuery(true);
        $subquery   = $db->getQuery(true);

        $fake_text      =
JText::_('COM_RSTICKETSPRO_DATA_HAS_BEEN_ANONYMISED');
        $fake_ip        = '0.0.0.0';

		if ($anonymiseJoomlaData === null)
		{
			$anonymiseJoomlaData =
RSTicketsProHelper::getConfig('anonymise_joomla_data');
		}

		if ($anonymiseJoomlaData) {
            // Let's create a fake email & fake username
            $fake_email     = JUserHelper::genRandomPassword(mt_rand(10,
16)) . '@' . JUserHelper::genRandomPassword(mt_rand(10, 16));
            $fake_username  = JUserHelper::genRandomPassword(mt_rand(10,
16));

            // Make sure this email is free
            $query->clear()
                ->select($db->qn('id'))
                ->from($db->qn('#__users'))
                ->where($db->qn('email') . ' = '
. $db->q($fake_email));
            while ($db->setQuery($query)->loadResult())
            {
                $fake_email .= JUserHelper::genRandomPassword(mt_rand(1,
2));
                $query->clear()
                    ->select($db->qn('id'))
                    ->from($db->qn('#__users'))
                    ->where($db->qn('email') . ' =
' . $db->q($fake_email));
            }

            // Make sure this username is free
            $query->clear()
                ->select($db->qn('id'))
                ->from($db->qn('#__users'))
                ->where($db->qn('username') . ' =
' . $db->q($fake_username));
            while ($db->setQuery($query)->loadResult())
            {
                $fake_username .= JUserHelper::genRandomPassword(mt_rand(1,
2));
                $query->clear()
                    ->select($db->qn('id'))
                    ->from($db->qn('#__users'))
                    ->where($db->qn('username') . ' =
' . $db->q($fake_username));
            }

            // #__users data
            $query->clear()
                ->update($db->qn('#__users'))
                ->set($db->qn('name') . ' = ' .
$db->q($fake_username))
                ->set($db->qn('username') . ' = '
. $db->q($fake_username))
                ->set($db->qn('email') . ' = ' .
$db->q($fake_email))
                ->set($db->qn('password') . ' = '
.
$db->q(JUserHelper::hashPassword(JUserHelper::genRandomPassword(20))))
                ->where($db->qn('id') . ' = ' .
$db->q($id));
            $db->setQuery($query)->execute();
        }

        // Remove custom searches
        $query->clear()
            ->delete($db->qn('#__rsticketspro_searches'))
            ->where($db->qn('user_id') . ' = ' .
$db->q($id));
        $db->setQuery($query)->execute();

        // Remove staff to department assignments
        $query->clear()
           
->delete($db->qn('#__rsticketspro_staff_to_department'))
            ->where($db->qn('user_id') . ' = ' .
$db->q($id));
        $db->setQuery($query)->execute();

        // Anonymise tickets
        $query->clear()
            ->update($db->qn('#__rsticketspro_tickets'))
            ->set($db->qn('subject') . ' = ' .
$db->q($fake_text))
            ->set($db->qn('agent') . ' = ' .
$db->q(''))
            ->set($db->qn('ip') . ' = ' .
$db->q($fake_ip))
            ->where('(' . $db->qn('customer_id')
. ' = ' . $db->q($id) . ') OR (' . 
$db->qn('staff_id') . ' = ' . $db->q($id) .
')');
        $db->setQuery($query)->execute();

        // Anonymise ticket messages
        $query->clear()
           
->update($db->qn('#__rsticketspro_ticket_messages'))
            ->set($db->qn('message') . ' = ' .
$db->q($fake_text))
            ->where($db->qn('user_id') . ' = ' .
$db->q($id));
        $db->setQuery($query)->execute();

        // Remove ticket files
        $subquery->clear()
            ->select($db->qn('id'))
           
->from($db->qn('#__rsticketspro_ticket_messages'))
            ->where($db->qn('user_id') . ' = ' .
$db->q($id));
        $query->clear()
            ->select($db->qn('id'))
            ->select($db->qn('ticket_message_id'))
           
->from($db->qn('#__rsticketspro_ticket_files'))
            ->where($db->qn('ticket_message_id') . '
IN (' . (string) $subquery . ')');
        if ($files = $db->setQuery($query)->loadObjectList())
        {

            foreach ($files as $file)
            {
                $hash = md5($file->id . ' ' .
$file->ticket_message_id);
                JFile::delete(RST_UPLOAD_FOLDER . '/' . $hash);
            }
        }

        // Anonymise ticket custom fields
        $subquery->clear()
            ->select($db->qn('id'))
            ->from($db->qn('#__rsticketspro_tickets'))
            ->where('(' . $db->qn('customer_id')
. ' = ' . $db->q($id) . ') OR (' . 
$db->qn('staff_id') . ' = ' . $db->q($id) .
')');
        $query->clear()
           
->update($db->qn('#__rsticketspro_custom_fields_values'))
            ->set($db->qn('value') . ' = ' .
$db->q($fake_text))
            ->where($db->qn('ticket_id') . ' IN
(' . (string) $subquery . ')');
        $db->setQuery($query)->execute();

        // Anonymise ticket history
        $query->clear()
           
->update($db->qn('#__rsticketspro_ticket_history'))
            ->set($db->qn('ip') . ' = ' .
$db->q($fake_ip))
            ->where($db->qn('user_id') . ' = ' .
$db->q($id));
        $db->setQuery($query)->execute();

        // Anonymise ticket notes
        $query->clear()
           
->update($db->qn('#__rsticketspro_ticket_notes'))
            ->set($db->qn('text') . ' = ' .
$db->q($fake_text))
            ->where($db->qn('user_id') . ' = ' .
$db->q($id));
        $db->setQuery($query)->execute();
    }

	public static function getAlternativeEmail($user_id =  null) {
		if (empty($user_id)) {
			return '';
		}

		$db = JFactory::getDbo();

		$query = $db->getQuery(true);
		$query->select('alternative_email')
			->from($db->qn('#__rsticketspro_tickets'))
			->where($db->qn('customer_id') . '=' .
$db->q($user_id))
			->order($db->qn('date') . ' ' .
$db->escape('desc'));
		$db->setQuery($query, 0, 1);

		return (string) $db->loadResult();
	}

	public static function showTotal($duration, $split = false)
	{
		$return = '';
		$unit = RSTicketsProHelper::getConfig('time_spent_unit');

		if (RSTicketsProHelper::getConfig('time_spent_type') ===
'tracking')
		{
			if ($split)
			{
				$split_data = explode('.', $duration);
				$total_minutes = (int)$split_data[0] * 60;
				$total_minutes += (int)$split_data[1];

				$duration = $total_minutes * 60;
			}

			switch ($unit)
			{
				case 'm':
					$minutes = floor($duration / 60);
					$return = $minutes . ' ' .
JText::_('RST_TIME_UNIT_MINUTES');

					$diff = $duration - ($minutes * 60);
					if ($diff > 0)
					{
						$return .= ' ' . $diff . ' ' .
JText::_('RST_TIME_UNIT_SECONDS');
					}

					break;

				case 'h':
					$hours = round($duration / 3600);
					$return = $hours . ' ' .
JText::_('RST_TIME_UNIT_HOURS');

					$diff = $duration - ($hours * 3600);
					if ($diff > 0)
					{
						$minutes = round($diff / 60);
						$return .= ' ' . $minutes . ' ' .
JText::_('RST_TIME_UNIT_MINUTES');

						if ($hours == 0 && $minutes == 0) {
							$diff_sec = $duration - ($minutes * 60);
							$return .= ' (' . $diff_sec . ' ' .
JText::_('RST_TIME_UNIT_SECONDS').')';
						}
					}
					break;

				case 'd':
					$days = round($duration / 86400);
					$return = $days . ' ' .
JText::_('RST_TIME_UNIT_DAYS');

					$diff = $duration - ($days * 86400);
					if ($diff > 0)
					{
						$hours = round($diff / 3600);
						$return .= ' ' . $hours . ' ' .
JText::_('RST_TIME_UNIT_HOURS');

						$diff = $diff - ($hours * 3600);
						if ($diff > 0)
						{
							$minutes = round($diff / 60);
							$return .= ' ' . $minutes . ' ' .
JText::_('RST_TIME_UNIT_MINUTES');
						}
					}

					break;
			}
		}
		else
		{
			$return = $duration . ' ' .
JText::_('RST_TIME_UNIT_' . $unit);
		}

		return $return;
	}

	public static function showNotifyIcon($ticket)
	{
		if (!RSTicketsProHelper::isStaff() ||
!RSTicketsProHelper::getConfig('autoclose_enabled') ||
$ticket->last_reply_customer || $ticket->autoclose_sent ||
$ticket->status_id == RST_STATUS_CLOSED)
		{
			return '';
		}

		$interval =
RSTicketsProHelper::getConfig('autoclose_email_interval') *
86400;
		if ($interval < 86400)
		{
			$interval = 86400;
		}

		$now		= JFactory::getDate()->toUnix();
		$last_reply = JFactory::getDate($ticket->last_reply)->toUnix() +
$interval;

		if ($last_reply > $now)
		{
			return '';
		}

		$overdue = floor(($now - $last_reply) / 86400);

		if (!$overdue)
		{
			return '';
		}

		$url =
RSTicketsProHelper::route('index.php?option=com_rsticketspro&task=ticket.notify&cid='
. $ticket->id);
		$img = '<i class="rsticketsproicon-attention
rst_notify_ticket"></i>';

		return '<span
class="'.RSTicketsProHelper::tooltipClass().'"
title="'.RSTicketsProHelper::tooltipText(JText::sprintf('RST_TICKET_NOTIFY_DESC',
$overdue)).'"><a
href="'.$url.'">'.$img.'</a></span>';
	}
}helpers/ticket.php000064400000121274151165644000010213 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTicketsProTicketHelper
{
	protected $data = array();
	protected $attachments = array();
	protected $error;
	public $message_id = 0;
	public $ticket_id = 0;

	public static function convert($ticket, $ticketMessages, $params)
	{
		$body          =
RSTicketsProHelper::getConfig('kb_template_body');
		$ticketBody    =
RSTicketsProHelper::getConfig('kb_template_ticket_body');
		$useEditor     =
RSTicketsProHelper::getConfig('allow_rich_editor');
		$dateFormat    = RSTicketsProHelper::getConfig('date_format');
		$showEmailLink =
RSTicketsProHelper::getConfig('show_email_link');
		$userInfo      =
RSTicketsProHelper::getConfig('show_user_info');

		$table = JTable::getInstance('Kbcontent',
'RsticketsproTable');
		$db    = JFactory::getDbo();

		// Parse ticket message template
		$messages = array();
		foreach ($ticketMessages as $message)
		{
			// get user
			$user = JFactory::getUser($message->user_id);

			// no editor - transform newlines into <br />
			if (!$useEditor)
			{
				$message->message = nl2br($message->message);
			}

			// replacements
			$replacements = array(
				'{message_user}' => $showEmailLink ? '<a
href="mailto:' . htmlentities($user->email, ENT_COMPAT,
'utf-8') . '">' .
htmlentities($user->{$userInfo}, ENT_COMPAT, 'utf-8') .
'</a>' : htmlentities($user->{$userInfo}, ENT_COMPAT,
'utf-8'),
				'{message_user_name}' => htmlentities($user->name,
ENT_COMPAT, 'utf-8'),
				'{message_user_username}' =>
htmlentities($user->username, ENT_COMPAT, 'utf-8'),
				'{message_user_email}' => htmlentities($user->email,
ENT_COMPAT, 'utf-8'),
				'{message_date}' => JHtml::_('date',
$message->date, $dateFormat),
				'{message_text}' => $message->message
			);

			$messages[] = str_replace(array_keys($replacements),
array_values($replacements), $ticketBody);
		}

		// Parse template body
		$replacements = array(
			'{ticket_subject}'    => $ticket->subject,
			'{ticket_department}' => $ticket->department->name,
			'{ticket_date}'       => JHtml::_('date',
$ticket->date, $dateFormat),
			'{ticket_messages}'   => implode("\n",
$messages)
		);

		return $table->save(array(
			'name'           => $params->name,
			'text'           => str_replace(array_keys($replacements),
array_values($replacements), $body),
			'category_id'    => $params->category_id,
			'published'      => $params->publish_article,
			'private'        => $params->private,
			'from_ticket_id' => $ticket->id,
			'ordering'       =>
$table->getNextOrder($db->qn('category_id') . '='
. $db->q($params->category_id))
		));
	}

	protected static function generateNumber($max = 10)
	{
		$key = '';
		for ($i = 0; $i < $max; $i++)
		{
			$w1 = rand(0, 1);
			$w2 = 1 - $w1;
			$key .= chr($w1 * rand(65, 90) + $w2 * rand(48, 57));
		}

		return $key;
	}

	public static function generateCode($department_id)
	{
		$code = '';
		$db   = JFactory::getDbo();

		$department = RSTicketsProHelper::getDepartment($department_id);

		if ($department->generation_rule == RST_DEPARTMENT_RULE_RANDOM)
		{
			// trick to enter the loop below
			$found = true;
			while ($found)
			{
				// add the department prefix
				$code = $department->prefix . '-' .
strtoupper(self::generateNumber(10));

				$query = $db->getQuery(true);
				$query->select($db->qn('id'))
					->from($db->qn('#__rsticketspro_tickets'))
					->where($db->qn('code') . '=' .
$db->q($code));
				$db->setQuery($query);
				$found = $db->loadResult();
			}
		}
		elseif ($department->generation_rule ==
RST_DEPARTMENT_RULE_SEQUENTIAL)
		{
			// add the department prefix
			$code = $department->prefix . '-' .
str_pad($department->next_number, 10, 0, STR_PAD_LEFT);

			$department->save(array(
				'id'          => $department->id,
				'next_number' => $department->next_number + 1
			));
		}

		return $code;
	}

	public function bind($data)
	{
		$this->data = $data;
	}

	public function setError($error)
	{
		$this->error = $error;
	}

	public function getError()
	{
		return $this->error;
	}

	public function saveTicket()
	{
		$db = JFactory::getDbo();

		// trigger event before saving and adding user_error
		RSTicketsProHelper::trigger('onBeforeStoreTicket',
array($this->data));

		// create user
		if (empty($this->data['customer_id']))
		{
			if (RSTicketsProHelper::getConfig('allow_password_change')
&& !empty($this->data['password']))
			{
				$password = $this->data['password'];
			}
			else
			{
				$password = JUserHelper::genRandomPassword(8);
			}

			if ($user_id = $this->createUser($password))
			{
				$this->data['customer_id'] = $user_id;
			}
			else
			{
				return false;
			}
		}

		// assign staff member based on department settings
		// unassigned
		$this->data['staff_id'] = 0;

		$department =
RSTicketsProHelper::getDepartment($this->data['department_id']);
		// auto-assign to staff member with the least assigned tickets
		if ($department->assignment_type == RST_ASSIGNMENT_AUTO)
		{
			// select staff members that belong to this department
			$query = $db->getQuery(true);
			$query->select($db->qn('user_id'))
				->from($db->qn('#__rsticketspro_staff_to_department'))
				->where($db->qn('department_id') . '=' .
$db->q($department->id));
			$db->setQuery($query);
			if ($staff_ids = $db->loadColumn())
			{
				// select groups that can answer tickets
				$query = $db->getQuery(true);
				$query->select($db->qn('id'))
					->from($db->qn('#__rsticketspro_groups'))
					->where($db->qn('answer_ticket') . '=' .
$db->q(1));
				$db->setQuery($query);
				if ($group_ids = $db->loadColumn())
				{
                    $priority_ids = array(0,
$this->data['priority_id']);

                    $group_ids = array_map('intval',
$group_ids);
                    $staff_ids = array_map('intval',
$staff_ids);
                    $priority_ids = array_map('intval',
$priority_ids);

					$query        = $db->getQuery(true);
					$query->select($db->qn('user_id'))
						->from($db->qn('#__rsticketspro_staff'))
						->where($db->qn('group_id') . ' IN (' .
implode(',', $group_ids) . ')')
						->where($db->qn('user_id') . ' IN (' .
implode(',', $staff_ids) . ')')
						->where($db->qn('priority_id') . ' IN (' .
implode(',', $priority_ids) . ')')
						->where($db->qn('exclude_auto_assign') . ' =
' . $db->q(0));

					$db->setQuery($query);

					if ($staff_ids = $db->loadColumn())
					{
                        $staff_ids = array_map('intval',
$staff_ids);

						$query = $db->getQuery(true);
						$query->select($db->qn('staff_id'))
							->select('COUNT(' . $db->qn('id') .
') AS tickets')
							->from($db->qn('#__rsticketspro_tickets'))
							->where($db->qn('status_id') . '!=' .
$db->q(RST_STATUS_CLOSED))
							->where($db->qn('staff_id') . ' IN (' .
implode(',', $staff_ids) . ')')
							->group($db->qn('staff_id'))
							->order($db->qn('tickets') . ' ' .
$db->escape('asc'));
						$db->setQuery($query);
						$stats = $db->loadObjectList('staff_id');

						// must make sure we cover all staff members, even those who
don't have tickets yet
						foreach ($staff_ids as $staff)
						{
							if (!isset($stats[$staff]))
							{
								// found a staff member who has 0 tickets - assign
								$staff_id = $staff;
								break;
							}
						}

						// no staff member assigned so far - must grab from query the first
result
						if (empty($staff_id) && $stats)
						{
							if ($tmp = reset($stats))
							{
								$staff_id = $tmp->staff_id;
							}
						}

						// get a random staff id from all the members
						if (empty($staff_id))
						{
							$staff_id = $staff_ids[mt_rand(0, count($staff_ids) - 1)];
						}
					}
				}
			}

			if (!empty($staff_id))
			{
				$this->data['staff_id'] = $staff_id;
			}
		}

		// generate code based on department
		$this->data['code'] =
RSTicketsProTicketHelper::generateCode($this->data['department_id']);

		// add ticket
		$ticket = JTable::getInstance('Tickets',
'RsticketsproTable');
		if (!$ticket->save($this->data))
		{
			$this->setError($ticket->getError());

			return false;
		}

		$this->ticket_id = $ticket->id;

		// populate new data
		$this->data['ticket_id'] = $ticket->id;
		$this->data['user_id']   = $ticket->customer_id;

		// trigger event after saving ticket
		RSTicketsProHelper::trigger('onAfterStoreTicket',
array($this->data, $ticket));

		// let's add custom fields
		$custom_fields_email = '';
		if (!empty($this->data['fields']))
		{
			foreach ($this->data['fields'] as $custom_field_id =>
$value)
			{
				$table = JTable::getInstance('Customfieldsvalues',
'RsticketsproTable');
				$table->save(array(
					'custom_field_id' => $custom_field_id,
					'ticket_id'       => $ticket->id,
					'value'           => $value
				));

				// append fields to email text
				$field = JTable::getInstance('Customfields',
'RsticketsproTable');
				$field->load($custom_field_id);

				$label = JText::_($field->label);
				$val   = is_array($value) ? implode(', ', $value) : $value;

				$custom_fields_email .= "<p>$label: $val</p>";
			}
		}

		// let's save the message
		if (!$this->saveMessage(false))
		{
			return false;
		}

		// get email sending settings
		if ($department->email_use_global)
		{
			// are we using global ?
			if (RSTicketsProHelper::getConfig('email_use_global'))
			{
				$config   = JFactory::getConfig();
				$from     = $config->get('mailfrom');
				$fromname = $config->get('fromname');
			}
			else
			{
				$from     = RSTicketsProHelper::getConfig('email_address');
				$fromname =
RSTicketsProHelper::getConfig('email_address_fullname');
			}
		}
		else
		{
			$from     = $department->email_address;
			$fromname = $department->email_address_fullname;
		}

		$priority = JTable::getInstance('Priorities',
'RsticketsproTable');
		$priority->load($ticket->priority_id);

		$status = JTable::getInstance('Statuses',
'RsticketsproTable');
		$status->load($ticket->status_id);

		// start sending emails

		// send email to the customer with a copy of his own ticket
		if ($department->customer_send_copy_email)
		{
			if ($email =
RSTicketsProHelper::getEmail('add_ticket_customer'))
			{
				$customer = JFactory::getUser($ticket->customer_id);

				$replacements = array(
					'{live_site}'         => JUri::root(),
					'{ticket}'            =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket->id . ':' .
JFilterOutput::stringURLSafe($ticket->subject), true,
RSTicketsProHelper::getConfig('customer_itemid')),
					'{customer_name}'     => $customer->name,
					'{customer_username}' => $customer->username,
					'{customer_email}'    => $customer->email,
					'{code}'              => $ticket->code,
					'{subject}'           => $ticket->subject,
					'{priority}'          => JText::_($priority->name),
					'{status}'            => JText::_($status->name),
					'{message}'           =>
$this->data['message'],
					'{custom_fields}'     => $custom_fields_email,
					'{department_id}'     => $department->id,
					'{department_name}'   => JText::_($department->name)
				);

				$email_subject = '[' . $ticket->code . '] ' .
$ticket->subject;
				$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);
				$email_message = RSTicketsProHelper::getReplyAbove() . $email_message;

				/**
				 * Grab ticket attachments
				 */
				$files = $this->getTicketAttachments($ticket->id);

				/**
				 * Set this as default to null so we can overwrite
				 * only when it's necessary -> download_type ==
'attachment'
				 */
				$attachments = null;

				/**
				 * Check if the setting is activated and if there are files
				 *
				 */
				if ($department->customer_attach_email && !empty($files))
				{
					/**
					 * In case the download type is set to link
					 * we add a list of files to the end of
					 * the email message
					 */
					if ($department->download_type == 'link')
					{
						if ($files) {
							$email_message .= '<ul>';
							foreach ($files as $file) {
								$url =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&task=ticket.downloadfile&id='
. $file->id . '&access_code=' . md5($ticket->id .
'|' . $file->id . '|' . $file->filename));
								$email_message .= '<li><a href="' . $url .
'">' . $file->filename .
'</a></li>';
							}
							$email_message .= '</ul>';
						}
					}
					/**
					 * if the download_type == 'attachment'
					 * we need to populate $attachments var
					 * with the files
					 */
					else
					{
						$attachments = $this->attachments;
					}
				}

				RSTicketsProHelper::sendMail($from, $fromname, $customer->email,
$email_subject, $email_message, 1, $attachments, $department->cc,
$department->bcc);
			}
		}

		// send email to the staff member that gets assigned this ticket
		if ($department->staff_send_email &&
$this->data['staff_id'])
		{
			if ($email =
RSTicketsProHelper::getEmail('add_ticket_staff'))
			{
				$customer =
JFactory::getUser($this->data['customer_id']);
				$staff    = JFactory::getUser($this->data['staff_id']);

				$replacements = array(
					'{live_site}'         => JUri::root(),
					'{ticket}'            =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket->id . ':' .
JFilterOutput::stringURLSafe($ticket->subject), true,
RSTicketsProHelper::getConfig('customer_itemid')),
					'{customer_name}'     => $customer->name,
					'{customer_username}' => $customer->username,
					'{customer_email}'    => $customer->email,
					'{staff_name}'        => $staff->name,
					'{staff_username}'    => $staff->username,
					'{staff_email}'       => $staff->email,
					'{code}'              => $ticket->code,
					'{subject}'           => $ticket->subject,
					'{priority}'          => JText::_($priority->name),
					'{status}'            => JText::_($status->name),
					'{message}'           =>
$this->data['message'],
					'{custom_fields}'     => $custom_fields_email,
					'{department_id}'     => $department->id,
					'{department_name}'   => JText::_($department->name)
				);

				$email_subject = '[' . $ticket->code . '] ' .
$ticket->subject;
				$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);
				$email_message = RSTicketsProHelper::getReplyAbove() . $email_message;

				/**
				 * Grab ticket attachments
				 */
				$files = $this->getTicketAttachments($ticket->id);

				/**
				 * Set this as default to null so we can overwrite
				 * only when it's necessary -> download_type ==
'attachment'
				 */
				$attachments = null;

				/**
				 * Check if the setting is activated and if there are files
				 *
				 */
				if ($department->staff_attach_email && !empty($files))
				{
					/**
					 * In case the download type is set to link
					 * we add a list of files to the end of
					 * the email message
					 */
					if ($department->download_type == 'link')
					{
						$email_message .= '<ul>';
						foreach ($files as $file)
						{
							$url =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&task=ticket.downloadfile&id='
. $file->id . '&access_code=' .
md5($ticket->id.'|'.$file->id.'|'.$file->filename));
							$email_message .= '<li><a href="' . $url .
'">' . $file->filename .
'</a></li>';
						}
						$email_message .= '</ul>';
					}
					/**
					 * if the download_type == 'attachment'
					 * we need to populate $attachments var
					 * with the files
					 */
					else
					{
						$attachments = $this->attachments;
					}
				}

				RSTicketsProHelper::sendMail($from, $fromname, $staff->email,
$email_subject, $email_message, 1, $attachments, $department->cc,
$department->bcc);
			}
		}

		// notify the email addresses configured in the department
		if ($department->notify_new_tickets_to)
		{
			if ($email =
RSTicketsProHelper::getEmail('add_ticket_notify'))
			{
				$customer =
JFactory::getUser($this->data['customer_id']);
				$staff    = JFactory::getUser($this->data['staff_id']);

				$replacements = array(
					'{live_site}'         => JUri::root(),
					'{ticket}'            =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket->id . ':' .
JFilterOutput::stringURLSafe($ticket->subject), true,
RSTicketsProHelper::getConfig('customer_itemid')),
					'{customer_name}'     => $customer->name,
					'{customer_username}' => $customer->username,
					'{customer_email}'    => $customer->email,
					'{staff_name}'        => $staff->name,
					'{staff_username}'    => $staff->username,
					'{staff_email}'       => $staff->email,
					'{code}'              => $ticket->code,
					'{subject}'           => $ticket->subject,
					'{priority}'          => JText::_($priority->name),
					'{status}'            => JText::_($status->name),
					'{message}'           =>
$this->data['message'],
					'{custom_fields}'     => $custom_fields_email,
					'{department_id}'     => $department->id,
					'{department_name}'   => JText::_($department->name)
				);

				$email_subject = '[' . $ticket->code . '] ' .
$ticket->subject;
				$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

				$notify_new_tickets_to = str_replace(array("\r\n",
"\r"), "\n", $department->notify_new_tickets_to);
				$notify_new_tickets_to = explode("\n",
$notify_new_tickets_to);
				foreach ($notify_new_tickets_to as $notify_email)
				{
					$notify_email = trim($notify_email);
					/**
					 * Grab ticket attachments
					 */
					$files = $this->getTicketAttachments($ticket->id);

					/**
					 * Set this as default to null so we can overwrite
					 * only when it's necessary -> download_type ==
'attachment'
					 */
					$attachments = null;

					/**
					 * Check if the setting is activated and if there are files
					 *
					 */
					if ($department->staff_attach_email && !empty($files))
					{
						/**
						 * In case the download type is set to link
						 * we add a list of files to the end of
						 * the email message
						 */
						if ($department->download_type == 'link')
						{
							$email_message .= '<ul>';
							foreach ($files as $file)
							{
								$url =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&task=ticket.downloadfile&id='
. $file->id . '&access_code=' .
md5($ticket->id.'|'.$file->id.'|'.$file->filename));
								$email_message .= '<li><a href="' . $url .
'">' . $file->filename .
'</a></li>';
							}
							$email_message .= '</ul>';
						}
						/**
						 * if the download_type == 'attachment'
						 * we need to populate $attachments var
						 * with the files
						 */
						else
						{
							$attachments = $this->attachments;
						}
					}

					RSTicketsProHelper::sendMail($from, $fromname, $notify_email,
$email_subject, $email_message, 1, $attachments, $department->cc,
$department->bcc);
				}
			}
		}

		return true;
	}

	protected function getUserByEmail($email)
	{
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);

		$query->select('*')
			->from($db->qn('#__users'))
			->where($db->qn('email') . ' LIKE ' .
$db->q($email));
		$db->setQuery($query);

		return $db->loadObject();
	}

	protected function createUser($password)
	{
		if ($customer =
$this->getUserByEmail($this->data['email']))
		{
			return $customer->id;
		}
		else
		{
			$db   = JFactory::getDbo();
			$lang = JFactory::getLanguage();
			$lang->load('com_users', JPATH_ADMINISTRATOR, null, true);

			if ((bool)
RSTicketsProHelper::getConfig('emails_as_usernames'))
			{
				$username = $this->data['email'];
			}
			else
			{
				@list($username, $domain) = explode('@',
$this->data['email']);

				if (preg_match("#[<>\"'%;()&]#i",
$username) || strlen(utf8_decode($username)) < 2)
				{
					$username =
JFilterOutput::stringURLSafe($this->data['name']);
					if (strlen($username) < 2)
					{
						$username = str_pad($username, 2, mt_rand(0, 9));
					}
				}

				$found = true;
				while ($found)
				{
					$query = $db->getQuery(true);
					$query->select($db->qn('id'))
						->from($db->qn('#__users'))
						->where($db->qn('username') . ' LIKE ' .
$db->q($username));
					$db->setQuery($query);
					$found = $db->loadResult();

					if ($found)
					{
						$username .= mt_rand(0, 9);
					}
				}
			}
			// create user object
			$user = new JUser();

			// Bind the data array to the user object
			$data = array(
				'name'     => trim($this->data['name']) ?
JComponentHelper::filterText($this->data['name']) :
$this->data['email'],
				'email'    => $this->data['email'],
				'username' => $username,
				'password' => $password
			);
			$data['password2'] = $data['password'];
			if (!$user->bind($data))
			{
				$this->setError($user->getError());

				return false;
			}

			$user->set('groups',
array(RSTicketsProHelper::getConfig('user_type')));

			$date = JFactory::getDate();
			$user->set('registerDate', $date->toSql());

			$user->set('block', 0);

			// If there was an error with registration, set the message
			if (!$user->save())
			{
				$this->setError($user->getError());

				return false;
			}

			$this->sendUserEmail($user, $password);

			return $user->id;
		}
	}

	protected function sendUserEmail($user, $password)
	{
		$email = RSTicketsProHelper::getEmail('new_user_email');
		if (!$email)
		{
			return false;
		}
		// disallow control chars in the email
		$password = preg_replace('/[\x00-\x1F\x7F]/', '',
$password);

		$lang = JFactory::getLanguage();
		$lang->load('com_rsticketspro', JPATH_SITE);

		// get email sending settings
		// are we using global ?
		if (RSTicketsProHelper::getConfig('email_use_global'))
		{
			$config   = JFactory::getConfig();
			$from     = $config->get('mailfrom');
			$fromname = $config->get('fromname');
		}
		else
		{
			$from     = RSTicketsProHelper::getConfig('email_address');
			$fromname =
RSTicketsProHelper::getConfig('email_address_fullname');
		}

		$replacements = array(
			'{live_site}' => JUri::root(),
			'{username}'  => $user->username,
			'{password}'  => $password,
			'{email}'     => $user->email
		);

		// assemble the email data
		try
		{
			return JFactory::getMailer()->sendMail($from, $fromname,
$user->email, $email->subject, str_replace(array_keys($replacements),
array_values($replacements), $email->message), true);
		}
		catch (Exception $e)
		{
			JFactory::getApplication()->enqueueMessage($e->getMessage(),
'warning');
			return false;
		}
	}

	public function saveMessage($sendMessageEmails = true)
	{
		$isStaff =
RSTicketsProHelper::isStaff($this->data['user_id']);

		// skip the email for the customer (as this is intended as his own
reply)
		$skip_customer_email = false;
		if ($isStaff &&
!empty($this->data['reply_as_customer'])) {
			$this->data['submitted_by_staff'] =
$this->data['user_id'];
			$this->data['user_id'] =
$this->data['customer_id'];
			$skip_customer_email = true;
		}
		// let's see if we need to add a signature
		if ($isStaff &&
RSTicketsProHelper::getConfig('show_signature') &&
!empty($this->data['use_signature']) &&
empty($this->data['reply_as_customer']))
		{
			$signature =
RSTicketsProHelper::getSignature($this->data['user_id']);
			if (strlen($signature))
			{
				$this->data['message'] .= "\r\n" . $signature;
			}
		}

		// let's set the message type
		$this->data['html'] = (int)
RSTicketsProHelper::getConfig('allow_rich_editor');

		if ($sendMessageEmails)
		{ // This is true only for replies
			RSTicketsProHelper::trigger('onBeforeStoreTicketReply',
array($this->data));
		}

		$message = JTable::getInstance('Ticketmessages',
'RsticketsproTable');
		if (!$message->save($this->data))
		{
			$this->setError($message->getError());

			return false;
		}

		if ($sendMessageEmails)
		{ // This is true only for replies
			RSTicketsProHelper::trigger('onAfterStoreTicketReply',
array($this->data, $message));
		}

		$this->message_id = $message->id;

		// let's add the files
		$hasFiles = null;
		if (!empty($this->data['files']))
		{
			foreach ($this->data['files'] as $file)
			{
				if ($file['src'] == 'upload')
				{
					$filename = $file['name'];
				}
				elseif ($file['src'] == 'cron')
				{
					$filename = $file['filename'];
				}

				$new_file = JTable::getInstance('Ticketfiles',
'RsticketsproTable');
				$new_file->save(array(
					'ticket_id'         =>
$this->data['ticket_id'],
					'ticket_message_id' => $message->id,
					'filename'          => $filename
				));

				$hash = md5($new_file->id . ' ' . $message->id);

				if ($file['src'] == 'upload')
				{
					$success = JFile::upload($file['tmp_name'],
RST_UPLOAD_FOLDER . '/' . $hash, false, true);
				}
				elseif ($file['src'] == 'cron')
				{
					$success = JFile::write(RST_UPLOAD_FOLDER . '/' . $hash,
$file['contents']);
				}

				// store attachment
				if ($success)
				{
					$this->attachments[] = (object) array(
						'path'     => RST_UPLOAD_FOLDER . '/' .
$hash,
						'filename' => $filename
					);
				}
			}

			$hasFiles = 1;
		}

		$original = JTable::getInstance('Tickets',
'RsticketsproTable');
		$original->load($this->data['ticket_id']);

		// $isStaff is defined at the start of this function.
		$isCustomer = $original->customer_id ==
$this->data['user_id'] || !$isStaff;
		// if a customer replied, we don't need to autoclose anymore
		$autocloseSent = $isCustomer ? 0 : null;
		// assign the ticket if the department's assignment type is static
and the ticket isn't already assigned
		// if submitted on behalf of another user, don't assign it (this
only happens when $sendMessageEmails is set to false - this means it is the
first message of the ticket)
		$staffId = $sendMessageEmails && $isStaff &&
$original->department->assignment_type == RST_ASSIGNMENT_STATIC
&& !$original->staff_id ? $this->data['user_id'] :
null;
		// update the status
		// if customer replied => open
		// if staff replied => on-hold
		// else don't modify the status
		$statusId = $isCustomer ? RST_STATUS_OPEN : ($isStaff ?
RST_STATUS_ON_HOLD : null);

		$object = (object) array(
			'id'                  =>
$this->data['ticket_id'],
			'last_reply'          => $this->data['date'],
			'last_reply_customer' => (int) !$isStaff,
			'autoclose_sent'      => $autocloseSent,
			'staff_id'            => $staffId,
			'has_files'           => $hasFiles,
			'replies'             => $original->replies + 1,
			'status_id'           => $statusId
		);
		JFactory::getDbo()->updateObject('#__rsticketspro_tickets',
$object, array('id'));

		// Reload all ticket fields
		$ticket = JTable::getInstance('Tickets',
'RsticketsproTable');
		$ticket->load($ticket->id);

		$department =& $original->department;
		// get email sending settings
		if ($department->email_use_global)
		{
			// are we using global ?
			if (RSTicketsProHelper::getConfig('email_use_global'))
			{
				$config   = JFactory::getConfig();
				$from     = $config->get('mailfrom');
				$fromname = $config->get('fromname');
			}
			else
			{
				$from     = RSTicketsProHelper::getConfig('email_address');
				$fromname =
RSTicketsProHelper::getConfig('email_address_fullname');
			}
		}
		else
		{
			$from     = $department->email_address;
			$fromname = $department->email_address_fullname;
		}

		$priority = JTable::getInstance('Priorities',
'RsticketsproTable');
		$priority->load($original->priority_id);

		$status = JTable::getInstance('Statuses',
'RsticketsproTable');
		$status->load($original->status_id);

		// send email to the staff member with the customer's reply
		if ($sendMessageEmails)
		{
			if (!$isStaff && $department->staff_send_email &&
$original->staff_id)
			{
				if ($email =
RSTicketsProHelper::getEmail('add_ticket_reply_staff'))
				{
					$customer = &$original->customer;
					$staff = &$original->staff;
					$ticket_id = $original->id;

					$replacements = array(
						'{live_site}' => JUri::root(),
						'{ticket}' =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket_id . ':' .
JFilterOutput::stringURLSafe($original->subject), true,
RSTicketsProHelper::getConfig('staff_itemid')),
						'{customer_name}' => $customer->name,
						'{customer_username}' => $customer->username,
						'{customer_email}' => $customer->email,
						'{staff_name}' => $staff->name,
						'{staff_username}' => $staff->username,
						'{staff_email}' => $staff->email,
						'{code}' => $original->code,
						'{subject}' => $original->subject,
						'{priority}' => JText::_($priority->name),
						'{status}' => JText::_($status->name),
						'{message}' => $this->data['message'],
						'{department_id}' => $original->department_id,
						'{department_name}' => JText::_($department->name)
					);

					$email_subject = '[' . $original->code . '] ' .
$original->subject;
					$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);
					$email_message = RSTicketsProHelper::getReplyAbove() .
$email_message;

					$attachments = null;
					/**
					 * Check if the setting is activated and if there are files
					 *
					 */
					if ($department->staff_attach_email && $hasFiles) {
						/**
						 * In case the download type is set to link
						 * we add a list of files to the end of
						 * the email message
						 */
						if ($department->download_type == 'link') {
							$files =
$this->getTicketMessageAttachments($this->message_id);
							$email_message .= '<ul>';
							foreach ($files as $file) {
								$url =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&task=ticket.downloadfile&id='
. $file->id . '&access_code=' . md5($ticket->id .
'|' . $file->id . '|' . $file->filename));
								$email_message .= '<li><a href="' . $url .
'">' . $file->filename .
'</a></li>';
							}
							$email_message .= '</ul>';
						} /**
						 * if the download_type == 'attachment'
						 * we need to populate $attachments var
						 * with the files
						 */
						else {
							$attachments = $this->attachments;
						}
					}

					RSTicketsProHelper::sendMail($from, $fromname, $staff->email,
$email_subject, $email_message, 1, $attachments, $department->cc,
$department->bcc);
				}
			}
			elseif ($isStaff && $department->customer_send_email
&& !$skip_customer_email)
			{
				if ($email =
RSTicketsProHelper::getEmail('add_ticket_reply_customer'))
				{
					$customer = &$original->customer;
					$staff = $original->staff->id ? $original->staff :
$ticket->staff;
					$ticket_id = $original->id;

					$replacements = array(
						'{live_site}' => JUri::root(),
						'{ticket}' =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket_id . ':' .
JFilterOutput::stringURLSafe($original->subject), true,
RSTicketsProHelper::getConfig('customer_itemid')),
						'{customer_name}' => $customer->name,
						'{customer_username}' => $customer->username,
						'{customer_email}' => $customer->email,
						'{staff_name}' => $staff->name,
						'{staff_username}' => $staff->username,
						'{staff_email}' => $staff->email,
						'{code}' => $original->code,
						'{subject}' => $original->subject,
						'{priority}' => JText::_($priority->name),
						'{status}' => JText::_($status->name),
						'{message}' => $this->data['message'],
						'{department_id}' => $original->department_id,
						'{department_name}' => JText::_($department->name)
					);

					$email_subject = '[' . $original->code . '] ' .
$original->subject;
					$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);
					$email_message = RSTicketsProHelper::getReplyAbove() .
$email_message;

					$attachments = null;
					/**
					 * Check if the setting is activated and if there are files
					 *
					 */
					if ($department->customer_attach_email && $hasFiles) {
						/**
						 * In case the download type is set to link
						 * we add a list of files to the end of
						 * the email message
						 */
						if ($department->download_type == 'link') {
							$files =
$this->getTicketMessageAttachments($this->message_id);
							$email_message .= '<ul>';
							foreach ($files as $file) {
								$url =
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&task=ticket.downloadfile&id='
. $file->id . '&access_code=' . md5($ticket->id .
'|' . $file->id . '|' . $file->filename));
								$email_message .= '<li><a href="' . $url .
'">' . $file->filename .
'</a></li>';
							}
							$email_message .= '</ul>';
						} /**
						 * if the download_type == 'attachment'
						 * we need to populate $attachments var
						 * with the files
						 */
						else {
							$attachments = $this->attachments;
						}
					}

					RSTicketsProHelper::sendMail($from, $fromname, $customer->email,
$email_subject, $email_message, 1, $attachments, $department->cc,
$department->bcc);
				}
			}
		}

		// this works only for customers
		// check if notification email address is not empty
		if (!$isStaff && ($to =
RSTicketsProHelper::getConfig('notice_email_address')))
		{
			$to = explode(',', $to);
			if ($original->staff_id)
			{
				$to[] = $original->staff->email;
			}
			// take care of duplicates
			$to = array_unique($to);

			// check if number of max replies is reached
			$maxReplies     = (int)
RSTicketsProHelper::getConfig('notice_max_replies_nr');
			$currentReplies =
RSTicketsProHelper::getConsecutiveReplies($original->id);
			if ($maxReplies && $currentReplies == $maxReplies &&
!$original->staff_id)
			{
				if ($email =
RSTicketsProHelper::getEmail('notification_max_replies_nr'))
				{
					$customer = JFactory::getUser($this->data['user_id']);
					$ticket_id = $original->id;

					$replacements = array(
						'{live_site}' => JUri::root(),
						'{ticket}' =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket_id . ':' .
JFilterOutput::stringURLSafe($original->subject), true,
RSTicketsProHelper::getConfig('staff_itemid')),
						'{customer_name}' => $customer->name,
						'{customer_username}' => $customer->username,
						'{customer_email}' => $customer->email,
						'{code}' => $original->code,
						'{subject}' => $original->subject,
						'{priority}' => JText::_($priority->name),
						'{status}' => JText::_($status->name),
						'{message}' => $this->data['message'],
						'{replies}' => $currentReplies,
						'{department_id}' => $original->department_id,
						'{department_name}' => JText::_($department->name)
					);

					$email_subject = str_replace(array_keys($replacements),
array_values($replacements), $email->subject);
					$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

					RSTicketsProHelper::sendMail($from, $fromname, $to, $email_subject,
$email_message, 1, null, $department->cc, $department->bcc);
				}
			}

			// check if number of max replies with no staff response is reached
			$maxReplies = (int)
RSTicketsProHelper::getConfig('notice_replies_with_no_response_nr');
			if ($maxReplies && $currentReplies == $maxReplies &&
$original->staff_id)
			{
				if ($email =
RSTicketsProHelper::getEmail('notification_replies_with_no_response_nr'))
				{
					$customer = JFactory::getUser($this->data['user_id']);
					$staff = &$original->staff;
					$ticket_id = $original->id;

					$replacements = array(
						'{live_site}' => JUri::root(),
						'{ticket}' =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket_id . ':' .
JFilterOutput::stringURLSafe($original->subject), true,
RSTicketsProHelper::getConfig('staff_itemid')),
						'{customer_name}' => $customer->name,
						'{customer_username}' => $customer->username,
						'{customer_email}' => $customer->email,
						'{staff_name}' => $staff->name,
						'{staff_username}' => $staff->username,
						'{staff_email}' => $staff->email,
						'{code}' => $original->code,
						'{subject}' => $original->subject,
						'{priority}' => JText::_($priority->name),
						'{status}' => JText::_($status->name),
						'{message}' => $this->data['message'],
						'{replies}' => $currentReplies,
						'{department_id}' => $original->department_id,
						'{department_name}' => JText::_($department->name)
					);

					$email_subject = str_replace(array_keys($replacements),
array_values($replacements), $email->subject);
					$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

					RSTicketsProHelper::sendMail($from, $fromname, $to, $email_subject,
$email_message, 1, null, $department->cc, $department->bcc);
				}
			}

			// check if it has restricted words
			if ($keywords =
RSTicketsProHelper::getConfig('notice_not_allowed_keywords'))
			{
				$keywords  = explode(',', $keywords);
				$email     =
RSTicketsProHelper::getEmail('notification_not_allowed_keywords');

				if ($email)
				{
					$customer = JFactory::getUser($this->data['user_id']);
					$staff = $original->staff->id ? $original->staff :
$ticket->staff;
					$ticket_id = $original->id;

					$quotedWords = array();
					foreach ($keywords as $word) {
						$word = trim($word);
						if (strlen($word)) {
							$quotedWords[] = preg_quote($word);
						}
					}
					$pattern = '#\b(' . implode('|', $quotedWords) .
')\b#i';
					if (preg_match($pattern, $this->data['message'])) {
						$replacements = array(
							'{live_site}' => JUri::root(),
							'{ticket}' =>
RSTicketsProHelper::mailRoute('index.php?option=com_rsticketspro&view=ticket&id='
. $ticket_id . ':' .
JFilterOutput::stringURLSafe($original->subject), true,
RSTicketsProHelper::getConfig('staff_itemid')),
							'{customer_name}' => $customer->name,
							'{customer_username}' => $customer->username,
							'{customer_email}' => $customer->email,
							'{staff_name}' => $staff->name,
							'{staff_username}' => $staff->username,
							'{staff_email}' => $staff->email,
							'{code}' => $original->code,
							'{subject}' => $original->subject,
							'{priority}' => JText::_($priority->name),
							'{status}' => JText::_($status->name),
							'{message}' => preg_replace($pattern, '<b
style="color: red">$1</b>',
$this->data['message']),
							'{replies}' => $currentReplies,
							'{department_id}' => $original->department_id,
							'{department_name}' => JText::_($department->name)
						);

						$email_subject = str_replace(array_keys($replacements),
array_values($replacements), $email->subject);
						$email_message = str_replace(array_keys($replacements),
array_values($replacements), $email->message);

						RSTicketsProHelper::sendMail($from, $fromname, $to, $email_subject,
$email_message, 1, null, $department->cc, $department->bcc);
					}
				}
			}
		}

		return true;
	}

	public function getMessageId()
	{
		return $this->message_id;
	}

	public function getTicketId()
	{
		return $this->ticket_id;
	}

	public function getTicketAttachments($ticketid){
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);
		$query->select('*')
			->from($db->qn('#__rsticketspro_ticket_files'))
			->where($db->qn('ticket_id') . ' = ' .
$db->q($ticketid));
		$db->setQuery($query);
		return $db->loadObjectList('id');
	}
	
	public function getTicketMessageAttachments($message_id){
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);
		$query->select('*')
			->from($db->qn('#__rsticketspro_ticket_files'))
			->where($db->qn('ticket_message_id') . ' = ' .
$db->q($message_id));
		$db->setQuery($query);
		return $db->loadObjectList('id');
	}

	public static function getTicketTimeState($ticketid) {
		$db    = JFactory::getDbo();
		$query = $db->getQuery(true);
		$query->select($db->qn('start'))
			->select($db->qn('end'))
			->from($db->qn('#__rsticketspro_timespent'))
			->where($db->qn('ticket_id') . ' = ' .
$db->q($ticketid))
			->order($db->qn('id') . ' DESC');

		$db->setQuery($query, 0, 1);
		$result = $db->loadObject();

		if (empty($result)) {
			return false;
		}

		$time_data = new stdClass();
		$time_data->state = false;

		// return true (started) only when the start is set and the end is not
		if ($result->start != '0000-00-00 00:00:00' &&
$result->end == '0000-00-00 00:00:00') {
			$time_data->state =  true;
		}

		$time_data->start = $result->start;
		$time_data->end = $result->end;

		return $time_data;
	}
}helpers/toolbar.php000064400000005015151165644000010364 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

abstract class RSTicketsProToolbarHelper
{
	public static function addToolbar($view = '')
	{
		// load language file (.sys because the toolbar has the same options as
the components dropdown)
		JFactory::getLanguage()->load('com_rsticketspro.sys',
JPATH_ADMINISTRATOR);

		// add toolbar entries
		// overview
		self::addEntry('OVERVIEW',
'index.php?option=com_rsticketspro', $view == '' ||
$view == 'rsticketspro');
		self::addEntry('MANAGE_TICKETS',
'index.php?option=com_rsticketspro&view=tickets', $view ==
'tickets');
		self::addEntry('DEPARTMENTS',
'index.php?option=com_rsticketspro&view=departments', $view
== 'departments');
		self::addEntry('CUSTOM_FIELDS',
'index.php?option=com_rsticketspro&view=customfields', $view
== 'customfields');
		self::addEntry('GROUPS',
'index.php?option=com_rsticketspro&view=groups', $view ==
'groups');
		self::addEntry('STAFF_MEMBERS',
'index.php?option=com_rsticketspro&view=staffs', $view ==
'staffs');
		self::addEntry('PRIORITIES',
'index.php?option=com_rsticketspro&view=priorities', $view ==
'priorities');
		self::addEntry('STATUSES',
'index.php?option=com_rsticketspro&view=statuses', $view ==
'statuses');
		self::addEntry('EMAIL_MESSAGES',
'index.php?option=com_rsticketspro&view=emails', $view ==
'emails');
		if (JFactory::getUser()->authorise('core.admin',
'com_rsticketspro'))
		{
			self::addEntry('CONFIGURATION',
'index.php?option=com_rsticketspro&view=configuration', $view
== 'configuration');
		}
		JFactory::getApplication()->triggerEvent('onAfterTicketsMenu');

		self::addEntry('KB_CATEGORIES',
'index.php?option=com_rsticketspro&view=kbcategories', $view
== 'kbcategories');
		self::addEntry('KB_ARTICLES',
'index.php?option=com_rsticketspro&view=kbarticles', $view ==
'kbarticles');
		self::addEntry('KB_CONVERSION_RULES',
'index.php?option=com_rsticketspro&view=kbrules', $view ==
'kbrules');
	}

	public static function addEntry($lang_key, $url, $default = false)
	{
		JHtmlSidebar::addEntry(JText::_('COM_RSTICKETSPRO_' .
$lang_key), JRoute::_($url), $default);
	}

	public static function addFilter($text, $key, $options, $noDefault =
false)
	{
		JHtmlSidebar::addFilter($text, $key, $options, $noDefault);
	}

	public static function render()
	{
		return JHtmlSidebar::render();
	}
}helpers/users.php000064400000002232151165644000010061 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTicketsProUsersHelper
{
	protected static $groups = null;
	protected static $users = null;

	public static function getAdminGroups()
	{
		if (!is_array(self::$groups))
		{
			self::$groups =
RSTicketsProConfig::getInstance()->get('admin_groups',
array());
		}

		return self::$groups;
	}
	
	public static function getAdminUsers() {
		if (!is_array(self::$users))
		{
			self::$users = array();
			
			if ($groups	= self::getAdminGroups())
			{
				$db 	= JFactory::getDbo();
				$query 	= $db->getQuery(true);
				$query->select('u.*')
					  ->from('#__user_usergroup_map m')
					  ->join('right', '#__users u ON
(u.id=m.user_id)')
					  ->where('m.group_id IN ('.implode(',',
$groups).')')
					  ->order('u.username ASC')
					  ->group('u.id');
				$db->setQuery($query);
				self::$users = $db->loadObjectList();
			}
		}
		
		return self::$users;
	}
}helpers/version.php000064400000000703151165644000010406 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RSTicketsProVersion
{
	public $version  = '3.0.1';
	public $key		 = '8TIK5J3PRO';

	// Get version
	public function __toString()
	{
		return $this->version;
	}
}models/configuration.php000064400000005207151165644000011415
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelConfiguration extends JModelAdmin
{
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.configuration',
'configuration', array('control' =>
'jform', 'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		return $form;
	}

	protected function loadFormData()
	{
		$data = (array) $this->getConfig()->getData();

		return $data;
	}

	public function save($data)
	{
		// get configuration
		$config = $this->getConfig();
		// get configuration keys
		$keys	= $config->getKeys();

		foreach ($keys as $key)
		{
			if (in_array($key, array('autoclose_cron_lastcheck',
'followup_cron_lastcheck', 'export_limit')))
			{
				continue;
			}

			if (isset($data[$key]))
			{
				$value = $data[$key];

				if ($key == 'captcha_characters' && $value < 3)
				{
					JFactory::getApplication()->enqueueMessage(JText::_('RST_CAPTCHA_CHARACTERS_ERROR'),
'warning');
					$value = 3;
				}
				elseif ($key == 'autoclose_cron_interval' && $value
< 10)
				{
					JFactory::getApplication()->enqueueMessage(JText::_('RST_AUTOCLOSE_CHECK_ERROR'),
'warning');
					$value = 10;
				}
				elseif ($key == 'autoclose_email_interval' && $value
< 1)
				{
					JFactory::getApplication()->enqueueMessage(JText::_('RST_AUTOCLOSE_DAYS_STATUS_ERROR'),
'warning');
					$value = 1;
				}
				elseif ($key == 'autoclose_interval' && $value <
1)
				{
					JFactory::getApplication()->enqueueMessage(JText::_('RST_AUTOCLOSE_DAYS_CLOSED_ERROR'),
'warning');
					$value = 1;
				}
				elseif ($key == 'followup_cron_interval' && $value
< 10)
				{
					JFactory::getApplication()->enqueueMessage(JText::_('RST_FEEDBACK_FOLLOWUP_CHECK_ERROR'),
'warning');
					$value = 10;
				}
				elseif ($key == 'followup_enabled_time')
				{
					if ($data['enable_followup'] == 1 && $value == 0)
					{
						$value = JFactory::getDate()->toSql();
					}
					elseif ($data['enable_followup'] == 0 && $value !=
0)
					{
						$value = 0;
					}
				}

				$config->set($key, $value);
			}
			else
			{
				$config->set($key, '');
			}
		}

		return true;
	}

	public function getConfig()
	{
		return RSTicketsProConfig::getInstance();
	}

	public function getRSTabs()
	{
		return new
RsticketsproAdapterTabs('com-rsticketspro-configuration');
	}
}models/cron.php000064400000002123151165644000007501 0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelCron extends JModelAdmin
{
	public function getTable($type = 'Crons', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.cron',
'cron', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$app  = JFactory::getApplication();
		$data =
$app->getUserState('com_rsticketspro.edit.cron.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}
	
	public function getRSTabs()
	{
		return new RsticketsproAdapterTabs('com-rsticketspro-cron');
	}
}models/cronlog.php000064400000003161151165644000010206 0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelCronlog extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'a.name', 'al.date', 'al.subject'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		
		$query->select($db->qn('al').'.*')
			->select($db->qn('a.name'))
			->from($db->qn('#__rsticketspro_accounts_log','al'))
			->join('LEFT',$db->qn('#__rsticketspro_accounts','a').'
ON '.$db->qn('al.account_id').' =
'.$db->qn('a.id'));

		// search
		if ($search != '')
		{
			$search = $db->q('%'.str_replace(' ',
'%', $db->escape($search, true)).'%', false);
			$query->where('('.$db->qn('al.description').'
LIKE '.$search.' OR
'.$db->qn('al.subject').' LIKE
'.$search.')');
		}
		
		// order by
		$query->order($db->qn($this->getState('list.ordering',
'al.date')).'
'.$db->escape($this->getState('list.direction',
'desc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'al.date',
$direction = 'desc')
	{
		$this->setState('filter.search',
	$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/crons.php000064400000004051151165644000007666 0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelCrons extends JModelList
{	
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'name', 'ordering', 'server',
'id', 'published', 'state'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery() {
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		$state	= $this->getState('filter.state');
		
		$query->select('*')->from('#__rsticketspro_accounts');
		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				// Escape the search token.
				$token = $db->q('%' . str_replace(' ',
'%', $db->escape($search, true)) . '%', false);

				// Compile the different search clauses.
				$searches = array();
				$searches[] = $db->qn('name').' LIKE ' .
$token;
				$searches[] = $db->qn('server').' LIKE ' .
$token;

				// Add the clauses to the query.
				$query->where('(' . implode(' OR ', $searches) .
')');
			}
		}
		// state
		if ($state != '')
		{
			$query->where($db->qn('published').' = '.(int)
$state);
		}
		
		// order by
		$query->order($db->qn($this->getState('list.ordering',
'name')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'name', $direction
= 'asc')
	{
		$this->setState('filter.search',
	$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
	$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/customfield.php000064400000004300151165644000011055
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelCustomfield extends JModelAdmin
{
	public function getTable($type = 'Customfields', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.customfield',
'customfield', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$app  = JFactory::getApplication();
		$data =
$app->getUserState('com_rsticketspro.edit.customfield.data',
array());
		
		if (empty($data))
		{
			$data = $this->getItem();
		}
		
		if (!empty($data) && is_object($data) && !$data->id
&& !$data->department_id)
		{
			$model = $this->getInstance('Customfields',
'RsticketsproModel');
			$data->department_id =
$model->getState('filter.department_id');
		}

		return $data;
	}
	
	protected function getReorderConditions($table)
	{
		return array(
			'department_id = '.(int) $table->department_id
		);
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('customfield.delete',
'com_rsticketspro');
	}

	protected function canEditState($record)
	{
		return
JFactory::getUser()->authorise('customfield.edit.state',
'com_rsticketspro');
	}
}models/customfields.php000064400000004670151165644000011252
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelCustomfields extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'f.name', 'department_name', 'label',
'type', 'required', 'f.published',
'f.ordering', 'f.id', 'state',
'department_id'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search 		= $this->getState('filter.search');
		$state 			= $this->getState('filter.state');
		$department_id 	= $this->getState('filter.department_id');
		
		$query->select('f.*')
			  ->select($db->qn('d.name',
'department_name'))
			  ->from($db->qn('#__rsticketspro_custom_fields',
'f'))
			  ->join('left',
$db->qn('#__rsticketspro_departments', 'd').'
ON ('.$db->qn('f.department_id').' =
'.$db->qn('d.id').')');
		
		if ($department_id)
		{
			$query->where($db->qn('department_id').'='.$db->q($department_id));
		}
		
		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('f.id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$query->where($db->qn('f.name') . ' LIKE ' .
$db->q('%'.str_replace(' ', '%',
$db->escape($search, true)).'%', false));
			}
		}
		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('f.published').'='.$db->q($state));
		}
		// order by
		$query->order($db->qn($this->getState('list.ordering',
'f.ordering')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'f.ordering',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
 'filter_state'));
		$this->setState('filter.department_id',
$this->getUserStateFromRequest($this->context.'.filter.department_id',
'filter_department_id'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/department.php000064400000004354151165644010010714
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelDepartment extends JModelAdmin
{
	public function getTable($type = 'Departments', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}

	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.department',
'department', array('control' => 'jform',
'load_data' => $loadData));

		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}

	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.department.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		if (!empty($data->jgroups))
		{
			$data->jgroups = json_decode($data->jgroups, true);
		}

		return $data;
	}

	public function getPHPValues()
	{
		return array(
			'upload_max_filesize' =>
ini_get('upload_max_filesize'),
			'max_file_uploads' =>
ini_get('max_file_uploads'),
			'post_max_size' => ini_get('post_max_size')
		);
	}

	public function getRSTabs()
	{
		return new
RsticketsproAdapterTabs('com-rsticketspro-department');
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('department.delete',
'com_rsticketspro');
	}

	protected function canEditState($record)
	{
		return
JFactory::getUser()->authorise('department.edit.state',
'com_rsticketspro');
	}
}models/departments.php000064400000003553151165644010011077
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelDepartments extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'name', 'prefix', 'published',
'ordering', 'id', 'state'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		$state 	= $this->getState('filter.state');
		
		$query->select('*')->from('#__rsticketspro_departments');

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$query->where($db->qn('name') . ' LIKE ' .
$db->q('%'.str_replace(' ', '%',
$db->escape($search, true)).'%', false));
			}
		}

		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('published') . '=' .
$db->q($state));
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'ordering')) . ' ' .
$db->escape($this->getState('list.direction',
'asc')));

		return $query;
	}
	
	protected function populateState($ordering = 'ordering',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));

		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/email.php000064400000003677151165644010007647 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelEmail extends JModelAdmin
{
	public function getTable($type = 'Emails', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.email',
'email', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		if (in_array($form->getValue('type'),
array('add_ticket_reply_customer',
'add_ticket_reply_staff', 'add_ticket_customer',
'add_ticket_staff', 'add_ticket_notify')))
		{
			$form->setFieldAttribute('subject', 'disabled',
'true');
			$form->setFieldAttribute('subject', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.email.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}

	protected function canEditState($record)
	{
		return JFactory::getUser()->authorise('email.edit.state',
'com_rsticketspro');
	}
}models/emails.php000064400000007146151165644010010025 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelEmails extends JModelList
{	
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'type', 'lang', 'subject',
'published', 'state', 'language'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$language 	= $this->getState('filter.language');
		$search 	= $this->getState('filter.search');
		$state 		= $this->getState('filter.state');
		
		$query->select('*')
			->from('#__rsticketspro_emails')
			->where($db->qn('lang') . '=' .
$db->q($language));

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$search = $db->q('%'.str_replace(' ',
'%', $db->escape($search, true)).'%', false);

				$query->where('(' . $db->qn('subject') .
' LIKE ' . $search . ') OR (' .
$db->qn('message') . ' LIKE ' . $search .
')');
			}
		}

		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('published') . '=' .
$db->q($state));
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'type')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function checkMissingEntries()
	{
		$lang = $this->getState('filter.language');
		
		if ($lang)
		{
			$db 	= $this->getDbo();
			$query 	= $db->getQuery(true);
			
			$types = array(
				'add_ticket_customer',
				'add_ticket_notify',
				'add_ticket_reply_customer',
				'add_ticket_reply_staff',
				'add_ticket_staff',
				'notification_email',
				'reject_email',
				'new_user_email',
				'notification_max_replies_nr',
				'notification_replies_with_no_response_nr',
				'notification_not_allowed_keywords',
				'notification_department_change',
				'feedback_followup_email'
			);
			
			$query->select($db->qn('type'))
				  ->from('#__rsticketspro_emails')
				  ->where($db->qn('type') . ' IN (' .
implode(',', $db->q($types)) . ')')
				  ->where($db->qn('lang') . '=' .
$db->q($lang));
			$db->setQuery($query);
			
			$found = $db->loadColumn();
			
			if ($diff = array_diff($types, $found))
			{
				foreach ($diff as $type)
				{
					$row = JTable::getInstance('Emails',
'RsticketsproTable');
					$row->save(array(
						'lang' => $lang,
						'type' => $type
					));
				}
			}
		}
	}
	
	public function getItems()
	{
		// check if there are missing entries for the current language
		$this->checkMissingEntries();
		
		return parent::getItems();
	}
	
	protected function getDefaultLanguage()
	{
		return JFactory::getLanguage()->get('tag');
	}
	
	protected function populateState($ordering = 'type', $direction
= 'asc')
	{
		$this->setState('filter.language',
$this->getUserStateFromRequest($this->context.'.filter.language',
'filter_language', $this->getDefaultLanguage()));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/fields/article.php000064400000004547151165644010011446
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class JFormFieldArticle extends JFormField
{
   /**
	* Element name
	*
	* @access	protected
	* @var		string
	*/
	protected $type = 'Article';
	
	protected function getInput() {
		$html = array();
		// Include our JTable
		JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_rsticketspro/tables');
		$row = JTable::getInstance('Kbcontent',
'RsticketsproTable');

		// Load the title
		$title = JText::_('RST_KB_SELECT_ARTICLE');
		
		if ($this->value && $row->load($this->value))
		{
			$title = $row->name;
		}
		
		// Include jQuery
		JHtml::_('jquery.framework');
		
		// URL to article list
		$link =
'index.php?option=com_rsticketspro&view=kbarticles&layout=element&tmpl=component';

		$js = "
		function elSelectEvent(id, title) {
			document.getElementById('".$this->id."').value =
title;
			document.getElementsByName('".$this->name."')[0].value
= id;
			jQuery('#rsticketsproKBArticleModal').modal('hide');
		}";

		JFactory::getDocument()->addScriptDeclaration($js);
		
		$html[] = '<span class="input-append"><input
type="text" class="input-medium"
required="required" readonly="readonly" id="'
. $this->id
			. '" value="' . htmlspecialchars($title, ENT_COMPAT,
'utf-8') . '" />';
		$html[] = '<a href="#rsticketsproKBArticleModal"
role="button" class="btn" data-toggle="modal"
title="' . JText::_('JSELECT') .
'">'
			. '<span class="icon-file"
aria-hidden="true"></span> '
			. JText::_('JSELECT') . '</a></span>';
		$html[] = JHtml::_(
			'bootstrap.renderModal',
			'rsticketsproKBArticleModal',
			array(
				'url'        => $link,
				'title'      =>
JText::_('RST_KB_SELECT_ARTICLE'),
				'width'      => '800px',
				'height'     => '300px',
				'modalWidth' => '80',
				'bodyHeight' => '70',
				'footer'     => '<a type="button"
class="btn" data-dismiss="modal"
aria-hidden="true">'
						. JText::_('JLIB_HTML_BEHAVIOR_CLOSE') .
'</a>'
			)
		);
		$html[] = '<input class="input-small"
type="hidden" name="' . $this->name . '"
value="'
			. htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') .
'" />';

		return implode("\n", $html);
	}
}models/fields/avatars.php000064400000002517151165644010011457
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('list');

class JFormFieldAvatars extends JFormFieldList
{
	protected $type = 'Avatars';
	
	protected function getOptions()
	{
		// Initialize variables.
		$options = array();
		
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);

		$components = array(
			'com_comprofiler',
			'com_community',
			'com_kunena',
		);
		
		$query->select('element')
			  ->from('#__extensions')
			 
->where($db->qn('type').'='.$db->q('component'))
			  ->where($db->qn('element').' IN (' .
implode(',', $db->q($components)) . ')');
		$available = $db->setQuery($query)->loadColumn();
		
		$options[] = JHtml::_('select.option', '',
JText::_('RST_NO_AVATARS_COMPONENT'));
		$options[] = JHtml::_('select.option', 'gravatar',
JText::_('RST_GRAVATAR'));
		
		foreach ($components as $component)
		{
			$disabled = !in_array($component, $available);
			$options[] = JHtml::_('select.option', substr($component, 4),
JText::_('RST_' . substr($component, 4)), 'value',
'text', $disabled);
		}
		
		reset($options);
		
		return $options;
	}
}
models/fields/comments.php000064400000002540151165644010011637
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('list');

class JFormFieldComments extends JFormFieldList
{
	protected $type = 'Comments';
	
	protected function getOptions()
	{
		// Initialize variables.
		$options = array();
		
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);

		$components = array(
			'RSComments!' => 'com_rscomments',
			'JComments' => 'com_jcomments',
			'JomComment' => 'com_jomcomment'
		);

		$query->select('element')
			->from('#__extensions')
			->where($db->qn('type').'='.$db->q('component'))
			->where($db->qn('element').' IN (' .
implode(',', $db->q($components)) . ')');
		$available = $db->setQuery($query)->loadColumn();
		
		$options[] = JHtml::_('select.option', '0',
JText::_('RST_KB_COMMENTS_DISABLED'));
		$options[] = JHtml::_('select.option', 'facebook',
JText::_('RST_FACEBOOK_COMMENTS'));
		
		foreach ($components as $name => $component)
		{
			$disabled = !in_array($component, $available);
			$options[] = JHtml::_('select.option', $component, $name,
'value', 'text', $disabled);
		}
		
		reset($options);
		
		return $options;
	}
}
models/fields/departments.php000064400000004636151165644010012350
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/rsticketspro.php';

JFormHelper::loadFieldClass('list');

class JFormFieldDepartments extends JFormFieldList
{
	protected $type = 'Departments';
	
	protected function getOptions()
	{
		// Initialize variables.
		$options 			= parent::getOptions();
		$is_staff			= RSTicketsProHelper::isStaff();
		$force_departments	=
RSTicketsProHelper::getConfig('staff_force_departments');
		$departments		= RSTicketsProHelper::getCurrentDepartments();
		$view				=
JFactory::getApplication()->input->get('view');
		$db 				= JFactory::getDbo();
		$user_groups		= !$is_staff ?
JAccess::getGroupsByUser(JFactory::getUser()->id, false) : array();

		if (isset($this->element['please']) &&
$this->element['please'] == 'true')
		{
			$options[] = JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT_DEPARTMENT'));
		}

		$query 	= $db->getQuery(true);
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from('#__rsticketspro_departments');
		if (!$is_staff)
		{
			$query->select($db->qn('jgroups'));
		}
		
		if (isset($this->element['published']) &&
$this->element['published'] == 'true')
		{
			$query->where($db->qn('published').'='.$db->q(1));
		}
		
		$query->order($db->qn('ordering').'
'.$db->escape('asc'));
		$db->setQuery($query);

		if ($results = $db->loadObjectList())
		{
			foreach ($results as $result)
			{
				if ($is_staff && $force_departments && $view !=
'staff' && !in_array($result->id, $departments))
				{
					continue;
				}

				// Search in the departments relations table to see if this department
is excluded from the current user group (only for non staff)
				if (!$is_staff)
				{
					if (!empty($result->jgroups))
					{
						$json_groups = json_decode($result->jgroups, true);

						if (is_array($json_groups) && array_intersect($json_groups,
$user_groups))
						{
							continue;
						}
					}
				}

				$tmp = JHtml::_('select.option', $result->id,
JText::_($result->name));

				// Add the option object to the result set.
				$options[] = $tmp;
			}
		}

		reset($options);
		
		return $options;
	}
}models/fields/dummy.php000064400000000671151165644010011150
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('hidden');

class JFormFieldDummy extends JFormFieldHidden
{
	protected $type = 'Dummy';
	
	protected function getInput()
	{
		return '';
	}
}models/fields/groups.php000064400000002027151165644010011331
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('list');

class JFormFieldGroups extends JFormFieldList
{
	protected $type = 'Groups';
	
	protected function getOptions()
	{
		// Initialize variables.
		$options = array();
		
		if (isset($this->element['all']) &&
$this->element['all'] == 'true')
		{
			$options[] = JHtml::_('select.option', 0,
JText::_('RST_ALL_PRIORITIES'));
		}
		
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from('#__rsticketspro_groups');
		$db->setQuery($query);
		
		$groups = $db->loadObjectList();
		foreach ($groups as $group)
		{
			$options[] = JHtml::_('select.option', $group->id,
JText::_($group->name));
		}

		reset($options);
		
		return $options;
	}
}models/fields/index.html000064400000000054151165644010011274
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>models/fields/kbarticle.php000064400000004526151165644010011760
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class JFormFieldKbarticle extends JFormField
{
	protected function getInput()
	{
		$html = array();
		// Include our JTable
		JTable::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_rsticketspro/tables');
		$row = JTable::getInstance('Kbcontent',
'RsticketsproTable');

		// Load the title
		$title = JText::_('RST_KB_SELECT_ARTICLE');
		
		if ($this->value && $row->load($this->value))
		{
			$title = $row->name;
		}
		
		// Include jQuery
		JHtml::_('jquery.framework');
		
		// URL to article list
		$link =
'index.php?option=com_rsticketspro&view=kbarticles&layout=element&tmpl=component';

		$js = "
		function elSelectEvent(id, title) {
			document.getElementById('".$this->id."').value =
title;
			document.getElementsByName('".$this->name."')[0].value
= id;
			jQuery('#rsticketsproKBArticleModal').modal('hide');
		}";

		JFactory::getDocument()->addScriptDeclaration($js);
		
		$html[] = '<span class="input-group
input-append"><input type="text"
class="input-medium form-control" required="required"
readonly="readonly" id="' . $this->id
			. '" value="' . htmlspecialchars($title, ENT_COMPAT,
'utf-8') . '" />';
		$html[] = '<a href="#rsticketsproKBArticleModal"
role="button" class="btn btn-secondary"
data-bs-toggle="modal" data-toggle="modal"
title="' . JText::_('JSELECT') .
'">'
			. '<span class="icon-file"
aria-hidden="true"></span> '
			. JText::_('JSELECT') . '</a></span>';
		$html[] = JHtml::_(
			'bootstrap.renderModal',
			'rsticketsproKBArticleModal',
			array(
				'url'        => $link,
				'title'      =>
JText::_('RST_KB_SELECT_ARTICLE'),
				'width'      => '800px',
				'height'     => '300px',
				'modalWidth' => '80',
				'bodyHeight' => '70',
				'footer'     => '<a type="button"
class="btn" data-bs-dismiss="modal"
data-dismiss="modal" aria-hidden="true">'
						. JText::_('JLIB_HTML_BEHAVIOR_CLOSE') .
'</a>'
			)
		);
		$html[] = '<input class="input-small"
type="hidden" name="' . $this->name . '"
value="'
			. htmlspecialchars($this->value, ENT_COMPAT, 'UTF-8') .
'" />';

		return implode("\n", $html);
	}
}models/fields/kbcategories.php000064400000003516151165644010012460
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('list');

class JFormFieldKBCategories extends JFormFieldList
{
	protected $type = 'KBCategories';
	
	protected function getOptions()
	{
		// Initialize variables.
		$options = array();
		
		if (isset($this->element['please']) &&
$this->element['please'] == 'true')
		{
			$options[] = JHtml::_('select.option', '',
JText::_('RST_KB_SELECT_CATEGORY'));
		}
		
		if (isset($this->element['show_noparent']) &&
$this->element['show_noparent'] == 'true')
		{
			$options[] = JHtml::_('select.option', 0,
JText::_('RST_KB_NO_PARENT'));
		}
		
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// Load the list items.
		$query->select('*')
			  ->from($db->qn('#__rsticketspro_kb_categories'))
			  ->order($db->qn('ordering').'
'.$db->escape('asc'));
		$items = $db->setQuery($query)->loadObjectList();
		$children = array();
		
		// first pass - collect children
		if ($items)
		{
			foreach ($items as $item)
			{
				$parent	= $item->parent_id;
				$item->parent = $parent;
				$item->title = '';
				$list = @$children[$parent] ? $children[$parent] : array();
				array_push($list, $item);
				$children[$parent] = $list;
			}
		}
		unset($items);
		
		// second pass - get an indent list of the items
		$list = JHtml::_('menu.treerecurse', 0, '', array(),
$children, 9999, 0, 0);
		foreach ($list as $item)
		{
			// Add the option object to the result set.
			$options[] = JHtml::_('select.option', $item->id,
$item->treename.$item->name);
		}
		unset($list);

		reset($options);
		
		return $options;
	}
}models/fields/kbconditions.php000064400000022663151165644010012510
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

class JFormFieldKBConditions extends JFormField
{
	protected $type = 'KBConditions';
	
	protected $options 			 = array();
	protected $departments 		 = array();
	protected $priorities 		 = array();
	protected $statuses 		 = array();
	protected $customFieldValues = array();
	
	public function __construct($form = null)
	{
		parent::__construct($form);
		
		// prepare lists
		// condition types
		$this->options['types'] = array(
			JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT')),
			JHtml::_('select.option', 'department',
JText::_('RST_DEPARTMENT')),
			JHtml::_('select.option', 'subject',
JText::_('RST_TICKET_SUBJECT')),
			JHtml::_('select.option', 'message',
JText::_('RST_TICKET_MESSAGE')),
			JHtml::_('select.option', 'priority',
JText::_('RST_PRIORITY')),
			JHtml::_('select.option', 'status',
JText::_('RST_TICKET_STATUS')),
			JHtml::_('select.option', 'custom_field',
JText::_('RST_CUSTOM_FIELD'))
		);
		// conditions
		$this->options['conditions'] = array(
			JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT')),
			JHtml::_('select.option', 'eq',
JText::_('RST_IS_EQUAL')),
			JHtml::_('select.option', 'neq',
JText::_('RST_IS_NOT_EQUAL')),
			JHtml::_('select.option', 'like',
JText::_('RST_IS_LIKE')),
			JHtml::_('select.option', 'notlike',
JText::_('RST_IS_NOT_LIKE'))
		);
		// connectors
		$this->options['connectors'] = array(
			JHtml::_('select.option', 'AND',
JText::_('RST_AND')),
			JHtml::_('select.option', 'OR',
JText::_('RST_OR'))
		);
		
		// departments
		$this->departments = $this->getDepartments();
		// priorities
		$this->priorities = $this->getPriorities();
		// statuses
		$this->statuses = $this->getStatuses();
		// custom fields
		$this->customFields = $this->getCustomFields();
		// custom field values
		$this->customFieldValues = $this->getCustomFieldValues();
	}
	
	protected function getDepartments()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from($db->qn('#__rsticketspro_departments'))
			  ->order($db->qn('ordering').'
'.$db->escape('ASC'));
		
		$db->setQuery($query);
		return $db->loadObjectList();
	}
	
	protected function getPriorities()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from($db->qn('#__rsticketspro_priorities'))
			  ->order($db->qn('ordering').'
'.$db->escape('ASC'));
		
		$db->setQuery($query);
		return $db->loadObjectList();
	}
	
	protected function getStatuses()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from($db->qn('#__rsticketspro_statuses'))
			  ->order($db->qn('ordering').'
'.$db->escape('ASC'));
		
		$db->setQuery($query);
		return $db->loadObjectList();
	}
	
	protected function getCustomFieldValues()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select($db->qn('values'))
			  ->select($db->qn('id'))
			  ->select($db->qn('type'))
			  ->from($db->qn('#__rsticketspro_custom_fields'));
		
		$db->setQuery($query);
		$customFieldValues = $db->loadObjectList('id');
		
		foreach ($customFieldValues as $id => $properties)
		{
			$list = array();
			
			$values = str_replace(array("\r\n", "\r"),
"\n", $properties->values);
			$values = explode("\n", $values);
		
			foreach ($values as $value)
			{
				$list[] = JHtml::_('select.option', $value, $value);
			}
			
			$customFieldValues[$id] = $list;
		}
		
		return $customFieldValues;
	}
	
	protected function getCustomFields()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select($db->qn('id'))
			  ->select($db->qn('department_id'))
			  ->select($db->qn('name'))
			  ->select($db->qn('type'))
			  ->select($db->qn('values'))
			  ->from($db->qn('#__rsticketspro_custom_fields'))
			  ->order($db->qn('ordering').'
'.$db->escape('ASC'));
		
		$db->setQuery($query);
		$customFields = $db->loadObjectList();
		
		$list = array();
		foreach ($this->departments as $department)
		{
			$optgroup = new stdClass();
			$optgroup->value = '<OPTGROUP>';
			$optgroup->text = $department->name;
			$list[] = $optgroup;
			
			foreach ($customFields as $customField)
			{
				if ($customField->department_id != $department->id)
				{
					continue;
				}
				
				$list[] = JHtml::_('select.option', $customField->id,
$customField->name);
			}
			
			$optgroup = new stdClass();
			$optgroup->value = '</OPTGROUP>';
			$optgroup->text = '';
			$list[] = $optgroup;
		}
		
		return $list;
	}
	
	protected function escape($string)
	{
		return htmlentities($string, ENT_COMPAT, 'utf-8');
	}
	
	protected function getFormControlName($name)
	{
		return $this->formControl.'['.$name.']';
	}
	
	protected function getInput()
	{
		$conditions = array();
		if ($this->value)
		{
			$conditions = unserialize($this->value);
		}
		if (!$conditions)
		{
			$conditions = array();
		}
		
		$html = '<p><button type="button" class="btn
btn-success" id="addConditionLink"><span
class="icon
icon-plus"></span></button></p>';
		$html .= '<div class="clr"></div>';
		$html .= '<div id="rst_conditions">';
		
		$hidden_attribs = 'disabled="disabled"
style="display: none;"';
		
		foreach ($conditions as $i => $condition) {
			$select_type = JHtml::_('select.genericlist',
$this->options['types'],
$this->getFormControlName('select_type').'[]', null,
'value', 'text', $condition->type,
'select_type'.$i);
			$select_custom_field_value = '';
			if ($condition->type == 'custom_field') {
				$select_custom_field_value = JHtml::_('select.genericlist',
$this->customFields,
$this->getFormControlName('select_custom_field_value').'[]',
null, 'value', 'text', $condition->custom_field,
'select_custom_field_value'.$i);
			}
			$select_condition = JHtml::_('select.genericlist',
$this->options['conditions'],
$this->getFormControlName('select_condition').'[]',
null, 'value', 'text', $condition->condition,
'select_condition'.$i);
			$select_connector = JHtml::_('select.genericlist',
$this->options['connectors'],
$this->getFormControlName('select_connector').'[]',
null, 'value', 'text', $condition->connector,
'select_connector'.$i);
			$select_value 	  = '';
			
			$is_like = $condition->condition == 'like' ||
$condition->condition == 'notlike';
			
			switch ($condition->type)
			{
				case 'department':
					$select_value  = trim(JHtml::_('select.genericlist',
$this->departments,
$this->getFormControlName('select_value').'[]',
($is_like ? $hidden_attribs : ''), 'id',
'name', $condition->value, 'select_value'.$i));
					$select_value .= '<input type="text"
name="'.$this->getFormControlName('select_value').'[]"
value="'.$this->escape($condition->value).'"
'.(!$is_like ? $hidden_attribs : '').' />';
				break;
				
				case 'priority':
					$select_value  = trim(JHtml::_('select.genericlist',
$this->priorities,
$this->getFormControlName('select_value').'[]',
($is_like ? $hidden_attribs : ''), 'id',
'name', $condition->value, 'select_value'.$i));
					$select_value .= '<input type="text"
name="'.$this->getFormControlName('select_value').'[]"
value="'.$this->escape($condition->value).'"
'.(!$is_like ? $hidden_attribs : '').' />';
				break;
				
				case 'status':
					$select_value  = trim(JHtml::_('select.genericlist',
$this->statuses,
$this->getFormControlName('select_value').'[]',
($is_like ? $hidden_attribs : ''), 'id',
'name', $condition->value, 'select_value'.$i));
					$select_value .= '<input type="text"
name="'.$this->getFormControlName('select_value').'[]"
value="'.$this->escape($condition->value).'"
'.(!$is_like ? $hidden_attribs : '').' />';
				break;
				
				case 'subject':
					$select_value = '<input type="text"
name="'.$this->getFormControlName('select_value').'[]"
value="'.$this->escape($condition->value).'"
/>';
				break;
				
				case 'message':
					$select_value = '<textarea
name="'.$this->getFormControlName('select_value').'[]">'.$this->escape($condition->value).'</textarea>';
				break;
				
				case 'custom_field':
					$values =
isset($this->customFieldValues[$condition->custom_field]) ?
$this->customFieldValues[$condition->custom_field] : array();
					$select_value  = trim(JHtml::_('select.genericlist',
$values,
$this->getFormControlName('select_value').'[]',
($is_like ? $hidden_attribs : ''), 'value',
'text', $condition->value, 'select_value'.$i));
					$select_value .= '<input type="text"
name="'.$this->getFormControlName('select_value').'[]"
value="'.$this->escape($condition->value).'"
'.(!$is_like ? $hidden_attribs : '').' />';
				break;
			}
			$html .= '<p><span
class="rst_condition_if">'.JText::_('RST_IF').'</span>
'.$select_type.'<span>&nbsp;</span><span
class="responseSpan2">'.$select_custom_field_value.'</span><span>&nbsp;</span>'.$select_condition.'<span>&nbsp;</span><span
class="responseSpan">'.$select_value.'</span><span>&nbsp;</span>'.$select_connector.'<span>&nbsp;</span><span>&nbsp;</span><a
href="javascript: void(0);" class="btn btn-danger
deleteConditionLink"><span class="icon
icon-minus"></span></a></p>';
		}
		
		$html .= '</div>';
		return $html;
	}
}models/fields/priorities.php000064400000003000151165644010012173
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('list');

class JFormFieldPriorities extends JFormFieldList
{
	protected $type = 'Priorities';
	
	protected function getOptions()
	{
		// Initialize variables.
		$options = parent::getOptions();
		
		if (isset($this->element['please']) &&
$this->element['please'] == 'true')
		{
			$options[] = JHtml::_('select.option', '',
JText::_('RST_PLEASE_SELECT_PRIORITY'));
		}
		
		if (isset($this->element['all']) &&
$this->element['all'] == 'true')
		{
			$options[] = JHtml::_('select.option', 0,
JText::_('RST_ALL_PRIORITIES'));
		}
		
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from('#__rsticketspro_priorities');
		
		if (isset($this->element['published']) &&
$this->element['published'] == 'true')
		{
			$query->where($db->qn('published').'='.$db->q(1));
		}
		
		$query->order($db->qn('ordering').'
'.$db->escape('asc'));
		$db->setQuery($query);
		
		$priorities = $db->loadObjectList();
		foreach ($priorities as $priority)
		{
			// Add the option object to the result set.
			$options[] = JHtml::_('select.option', $priority->id,
JText::_($priority->name));
		}

		reset($options);
		
		return $options;
	}
}models/fields/rscaptcha.php000064400000010224151165644010011760
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/rsticketspro.php';

class JFormFieldRSCaptcha extends JFormField
{
	protected $type = 'RSCaptcha';
	
	protected function getInput()
	{
		$captcha = RSTicketsProHelper::getConfig('captcha_enabled');
		
		if ($captcha == 1)
		{
			$route 	=
JRoute::_('index.php?option=com_rsticketspro&task=captcha');
			$src 	=
JRoute::_('index.php?option=com_rsticketspro&task=captcha&sid='.mt_rand());
			$img = '<img src="'.$src.'"
id="submit_captcha_image"
alt="'.JText::_('RST_ANTISPAM').'"
/>';
			
			$refresh = '<span
class="'.RSTicketsProHelper::tooltipClass().'"
title="'.RSTicketsProHelper::tooltipText(JText::_('RST_REFRESH_CAPTCHA_DESC')).'"><a
onclick="return
RSTicketsPro.refreshCaptcha(\''.addslashes($route).'\');"
href="javascript:void(0);" class="btn
btn-small"><i class="icon-refresh
icon-rsrefresh"></i></a></span>';
			
			$input = '<div class="rst_captcha"><input
type="text" id="'.$this->id.'"
name="'.$this->name.'" value=""
/></div>';
			
			return $img . $refresh . $input;
		}
		elseif ($captcha > 1 && $captcha < 5)
		{
			// reCAPTCHA NoCAPTCHA
			$doc = JFactory::getDocument();
			if ($doc->getType() == 'html')
			{
				$doc->addScript('https://www.google.com/recaptcha/api.js?'.($captcha
== 4 ? 'render=explicit&' :
'').'hl='.urlencode(JFactory::getLanguage()->getTag()),array(),
array('async' => 'async', 'defer' =>
'defer'));
			}

			$sitekey 	=
RSTicketsProHelper::getConfig('recaptcha_new_site_key');
			$secretkey  =
RSTicketsProHelper::getConfig('recaptcha_new_secret_key');
			
			if (empty($sitekey))
			{
				return JText::_('RST_CAPTCHA_MISSING_SITE_KEY');
			}
			
			if (empty($secretkey))
			{
				return JText::_('RST_CAPTCHA_MISSING_SECRET_KEY');
			}

			if ($captcha == 3) {
				return '<div class="g-recaptcha"
						data-sitekey="'.$this->escape($sitekey).'"
						data-theme="'.$this->escape(RSTicketsProHelper::getConfig('recaptcha_new_theme')).'"
						data-type="'.$this->escape(RSTicketsProHelper::getConfig('recaptcha_new_type')).'"
					></div>';
			} else if ($captcha == 4) {
				$invisible_script = "
					var RSTicketsProReCAPTCHAv2Callback = function() {
						var form =document.getElementById('adminForm');
						if (typeof form.submit != 'function') {
							document.createElement('form').submit.call(form)
						} else {
							form.submit();
						}
					}

					var RSTicketsProReCAPTCHAv2 = function(){
						var rst_rendered_id = grecaptcha.render('g-recaptcha-rst',
{
							'sitekey' :
'".$this->escape($sitekey)."',
							'theme' :
'".$this->escape(RSTicketsProHelper::getConfig('recaptcha_new_theme'))."',
							'type' :
'".$this->escape(RSTicketsProHelper::getConfig('recaptcha_new_type'))."',
							'badge' : 'inline',
							'size' : 'invisible',
							'callback' : 'RSTicketsProReCAPTCHAv2Callback'
						 });
						RSTicketsPro.addEvent(document.getElementById('adminForm'),
'submit', function(evt){ evt.preventDefault();
grecaptcha.execute(rst_rendered_id); });
					}

					window.addEventListener('DOMContentLoaded',
RSTicketsProReCAPTCHAv2);";
				$doc->addScriptDeclaration($invisible_script);

				return '<div
id="g-recaptcha-rst"></div>';
			}
		} else if ($captcha == 5) {
			$jconfig = JFactory::getConfig();
			$jcaptcha = $jconfig->get('captcha');
			if (!empty($jcaptcha)) {
				try {
					$jcaptcha = JCaptcha::getInstance($jcaptcha,
array('namespace' => 'rscaptcha'));
					if (!is_null($jcaptcha))
					{
						return $jcaptcha->display('rscaptcha',
'rscaptcha');
					}
				} catch (Exception $e) {
					JFactory::getApplication()->enqueueMessage($e->getMessage(),
'error');
				}
			} else {
				JFactory::getApplication()->enqueueMessage(JText::_('RST_CAPTCHA_BUILT_IN_NOT_SELECTED'),
'error');
			}
		}
		
		return '';
	}
	
	protected function escape($string)
	{
		return htmlentities($string, ENT_COMPAT, 'utf-8');
	}
}models/fields/rscustomer.php000064400000001141151165644010012214
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('user');

class JFormFieldRSCustomer extends JFormFieldUser
{
	public $type = 'RSCustomer';
	
	protected function getGroups()
	{
		return null;
	}

	protected function getInput()
	{
		$this->readonly = false;
		return str_replace('?option=com_users',
'?option=com_rsticketspro', parent::getInput());
	}
}models/fields/rseditor.php000064400000001725151165644010011651
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/rsticketspro.php';

if (RSTicketsProHelper::getConfig('allow_rich_editor'))
{
	JFormHelper::loadFieldClass('editor');
	
	class JFormFieldRSEditor extends JFormFieldEditor
	{
		public $type = 'RSEditor';
		
		public function getInput()
		{
			$this->element['buttons'] =
RSTicketsProHelper::getConfig('allow_rich_editor_buttons') ?
'true' : 'false';
			$this->buttons = (bool)
RSTicketsProHelper::getConfig('allow_rich_editor_buttons');
			
			return parent::getInput();
		}
	}
}
else
{
	JFormHelper::loadFieldClass('textarea');
	
	class JFormFieldRSEditor extends JFormFieldTextarea
	{
		protected $type = 'RSEditor';
	}
}models/fields/rsticketsproanonymisebutton.php000064400000001750151165644010015727
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2018 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

class JFormFieldRSTicketsProAnonymiseButton extends JFormField
{
	protected $type = 'RSTicketsProAnonymiseButton';
	
	protected function getInput()
    {
        JHtml::_('jquery.framework');
        JHtml::_('script',
'com_rsticketspro/anonymise.js', array('relative' =>
true, 'version' => 'auto'));
       
JText::script('COM_RSTICKETSPRO_ARE_YOU_SURE_YOU_WANT_TO_ANONYMISE');
        JText::script('SUCCESS');
        JText::script('ERROR');

	    return '<div class="alert alert-danger">' .
JText::_('PLG_SYSTEM_RSTICKETSPRO_ANONYMISE_INSTRUCTIONS') .
'</div>' . '<button type="button"
class="btn btn-danger btn-large"
id="rst_anonymise_button">' .
JText::_('PLG_SYSTEM_RSTICKETSPRO_ANONYMISE_BUTTON') .
'</button>';
	}
}models/fields/rsticketsprohtml.php000064400000001011151165644010013423
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

class JFormFieldRsticketsprohtml extends JFormField
{
	protected function getInput()
	{
		$value = $this->value;
		if (!empty($this->element['escape']))
		{
			$value = htmlspecialchars($this->value, ENT_COMPAT,
'utf-8');
		}

		return $value;
	}
}models/fields/rsticketsprolang.php000064400000001235151165644010013410
0ustar00<?php
/**
* @package RSForm! Pro
* @copyright (C) 2007-2019 www.rsjoomla.com
* @license GPL, http://www.gnu.org/copyleft/gpl.html
*/

defined('_JEXEC') or die('Restricted access');

JFormHelper::loadFieldClass('list');

use Joomla\CMS\Language\LanguageHelper;

class JFormFieldRsticketsprolang extends JFormFieldList
{
	protected function getOptions()
	{
		// Initialize variables.
		$options = array();

		$languages = LanguageHelper::getKnownLanguages();

		foreach ($languages as $language => $properties)
		{
			$options[] = JHtml::_('select.option', $language,
$properties['name']);
		}

		reset($options);
		
		return $options;
	}
}models/fields/rsuploads.php000064400000002566151165644010012036
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

class JFormFieldRSUploads extends JFormField
{
	protected $type = 'RSUploads';
	
	protected function getInput()
	{
		// Initialize some field attributes.
		$accept = $this->element['accept'] ? '
accept="' . (string) $this->element['accept'] .
'"' : '';
		$size = $this->element['size'] ? ' size="' .
(int) $this->element['size'] . '"' :
'';
		$class = $this->element['class'] ? ' class="'
. (string) $this->element['class'] . '"' :
'';
		$disabled = ((string) $this->element['disabled'] ==
'true') ? ' disabled="disabled"' :
'';

		// Initialize JavaScript field attributes.
		$onchange = $this->element['onchange'] ? '
onchange="' . (string) $this->element['onchange'] .
'"' : '';
		$onclick  = $this->element['onclick'] ? '
onclick="' . (string) $this->element['onclick'] .
'"' : '';

		// button for "more files"
		$button = '<button type="button" class="btn
btn-secondary"
'.$onclick.'>'.JText::_('RST_ADD_MORE_ATTACHMENTS').'</button>';
		
		return '<input type="file" name="' .
$this->name . '[]" id="' . $this->id .
'"' . ' value=""' . $accept . $disabled
. $class . $size
			. $onchange . ' /> '.$button;
	}
}models/fields/rsusergroup.php000064400000007570151165644010012422
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

// No direct access.
defined('_JEXEC') or die('Restricted access');

/**
 * Supports a nested check box field listing user groups.
 *
 */
class JFormFieldRSUsergroup extends JFormField
{
    /**
     * The form field type.
     *
     * @var string
     *
     * @access protected
     */
    protected $type = 'rsusergroup';

    /**
     * Method to get the user group field input markup.
     *
     * @access protected
     *
     * @return string The field input markup.
     */
    protected function getInput()
    {
        $options = array();
        $attr = '';

        // Initialize some field attributes.
        $attr .= empty($this->class) ? '' : '
class="' . $this->class . '"';
        $attr .= $this->disabled ? ' disabled' :
'';
        $attr .= $this->size ? ' size="' . $this->size
. '"' : '';
        $attr .= $this->multiple ? ' multiple' :
'';
        $attr .= $this->required ? ' required
aria-required="true"' : '';
        $attr .= $this->autofocus ? ' autofocus' :
'';

        // Initialize JavaScript field attributes.
        $attr .= empty($this->onchange) ? '' : '
onchange="' . $this->onchange . '"';
        $attr .= empty($this->onclick) ? '' : '
onclick="' . $this->onclick . '"';

        // Iterate through the children and build an array of options.
        foreach ($this->element->children() as $option)
        {
            // Only add <option /> elements.
            if ($option->getName() != 'option')
                continue;

            $disabled = (string)$option['disabled'];
            $disabled = $disabled == 'true' || $disabled ==
'disabled' || $disabled == '1';

            // Create a new option object based on the <option />
element.
            $tmp = JHtml::_( 'select.option',
(string)$option['value'], trim( (string)$option ),
'value', 'text', $disabled );

            // Set some option attributes.
            $tmp->class = (string)$option['class'];

            // Set some JavaScript option attributes.
            $tmp->onclick = (string)$option['onclick'];

            // Add the option object to the result set.
            $options[] = $tmp;
        }

        $db = JFactory::getDbo();

        $query = $db->getQuery(true)
            ->select( array( $db->qn('a.id',
'value'), $db->qn('a.title', 'text'),
'COUNT(DISTINCT ' . $db->qn('b.id') . ') AS
' . $db->qn('level') ) )
            ->from( $db->qn('#__usergroups', 'a')
)
            ->leftJoin( $db->qn('#__usergroups',
'b') . ' ON ' . $db->qn('a.lft') . '
> ' . $db->qn('b.lft') . ' AND ' .
$db->qn('a.rgt') . ' < ' .
$db->qn('b.rgt') )
            ->group( $db->qn( array('a.id',
'a.title', 'a.lft', 'a.rgt') ) )
            ->order( $db->qn('a.lft') . ' ASC'
);

        $db->setQuery($query);

        if ( $jgroups = $db->loadObjectList() )
        {
            $query = $db->getQuery(true)
                ->select( $db->qn('jgroup_id') )
                ->from(
$db->qn('#__rsticketspro_departments_relations') );

            // Get the selected ones if the id is set
            $id =
JFactory::getApplication()->input->getInt('id', 0);
            $query->where( $db->qn('department_id') .
' = ' . $db->q($id) );


            $db->setQuery($query);
            $jgroups_ids = $db->loadColumn();

            foreach ($jgroups as $jgroup)
            {
                $text = str_repeat('- ', $jgroup->level) .
$jgroup->text;
                $options[] = JHtml::_('select.option',
$jgroup->value, $text);
            }
        }

        return JHtml::_( 'select.genericlist', $options,
$this->name, array('list.attr' => $attr,
'list.select' => $jgroups_ids, 'id' =>
$this->id) );
    }
}
models/fields/staff.php000064400000005161151165644010011117
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/rsticketspro.php';

JFormHelper::loadFieldClass('list');

class JFormFieldStaff extends JFormFieldList
{
	protected $type = 'Staff';

	protected $userField;
	
	protected function getDepartments() {
		$db		= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from('#__rsticketspro_departments')
			 
->where($db->qn('published').'='.$db->q(1))
			  ->order($db->qn('ordering').'
'.$db->escape('asc'));
		$db->setQuery($query);
		return $db->loadObjectList();
	}
	
	protected function getUsers() {
		$db		= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		$users	= array();
		
		$query->select($db->qn('user_id'))
			  ->select($db->qn('department_id'))
			  ->from('#__rsticketspro_staff_to_department');
		$db->setQuery($query);
		if ($results = $db->loadObjectList()) {
			foreach ($results as $result) {
				if (!isset($users[$result->department_id])) {
					$users[$result->department_id] = array();
				}
				
				$users[$result->department_id][] =
JFactory::getUser($result->user_id);
			}
		}
		
		return $users;
	}
	
	protected function getOptions() {
		// Initialize variables.
		$options 	 = parent::getOptions();
		$departments = $this->getDepartments();
		$users		 = $this->getUsers();

        $this->userField =
RSTicketsProHelper::getConfig('show_user_info');
		
		if (isset($this->element['unassigned']) &&
$this->element['unassigned'] == 'true') {
			$options[] = JHtml::_('select.option', 0,
JText::_('RST_UNASSIGNED'));
		}
		
		foreach ($departments as $department) {
			// opening <OPTGROUP> tag
			$options[] = (object) array(
				'value' => '<OPTGROUP>',
				'text'  => JText::_($department->name)
			);
			
			if (isset($users[$department->id])) {
			    usort($users[$department->id], array($this, 'sort'));
				foreach ($users[$department->id] as $user) {
					$options[] = JHtml::_('select.option', $user->id,
$user->get($this->userField));
				}
			}
			
			// closing </OPTGROUP> tag
			$options[] = (object) array(
				'value' => '</OPTGROUP>',
				'text'  => ''
			);
		}

		reset($options);
		
		return $options;
	}

	protected function sort($a, $b)
    {
        return strcasecmp($a->get($this->userField),
$b->get($this->userField));
    }
}models/fields/statuses.php000064400000002253151165644010011666
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */
defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('list');

class JFormFieldStatuses extends JFormFieldList
{
	protected $type = 'Statuses';
	
	protected function getOptions() {		
		// Initialize variables.
		$options = parent::getOptions();
		
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		$query->select($db->qn('id'))
			  ->select($db->qn('name'))
			  ->from('#__rsticketspro_statuses');
			  
		if (isset($this->element['published']) &&
$this->element['published'] == 'true') {
			$query->where($db->qn('published').'='.$db->q(1));
		}
		
		$query->order($db->qn('ordering').'
'.$db->escape('asc'));
		
		$db->setQuery($query);
		
		$statuses = $db->loadObjectList();
		foreach ($statuses as $status) {
			$tmp = JHtml::_('select.option', $status->id,
JText::_($status->name));

			// Add the option object to the result set.
			$options[] = $tmp;
		}

		reset($options);
		
		return $options;
	}
}models/fields/subject.php000064400000004247151165644010011457
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/rsticketspro.php';

if (!RSTicketsProHelper::getConfig('allow_predefined_subjects'))
{
	JFormHelper::loadFieldClass('text');

	class JFormFieldSubject extends JFormFieldText
	{
		protected $type = 'Subject';
	}
} else {
	JFormHelper::loadFieldClass('list');

	class JFormFieldSubject extends JFormFieldList
	{
		protected $type = 'Subject';

		protected function getOptions() {
			$options = array();
			$db 	= JFactory::getDbo();

			$query 	= $db->getQuery(true);
			$query->select($db->qn('id'))
				->select($db->qn('predefined_subjects'))
				->from($db->qn('#__rsticketspro_departments'))
				->where($db->qn('published').'='.$db->q(1))
				->order($db->qn('ordering').'
'.$db->escape('asc'));
			$db->setQuery($query);
			$departments = $db->loadObjectList();

			$doc = JFactory::getDocument();
			$script  = "RSTicketsPro.showPredefinedSubjects =
function(department) {\n";
			$script .= "var subjects = {};\n";
			$script .= "subjects[0] =
{'':'".JText::_('RST_PLEASE_SELECT_SUBJECT',
true)."'};\n";
			foreach ($departments as $department) {
				$subjects 	=
RSTicketsProHelper::getJSSubjects($department->predefined_subjects);

				$script 	.= "subjects[".$department->id."] =
{".implode(',', $subjects)."};\n";
			}
			$script .= "if (typeof subjects[department.id] !=
'undefined') {\n";
			$script .=
"RSTicketsPro.populateSelect(document.getElementById('jform_subject'),
subjects[department.id]);\n";
			if ($this->value) {
				$script .= "if (typeof jQuery != 'undefined') {
jQuery(document.getElementById('jform_subject')).val(".json_encode($this->value).");
}\n";
			}
			$script .= "if (typeof jQuery != 'undefined') {
jQuery(document.getElementById('jform_subject')).trigger('liszt:updated');
}\n";
			$script .= "}\n";
			$script .= "}\n";

			$doc->addScriptDeclaration($script);

			return $options;
		}
	}
}models/fields/typeahead.php000064400000001644151165644010011762
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('JPATH_PLATFORM') or die;

JFormHelper::loadFieldClass('text');

class JFormFieldTypeahead extends JFormFieldText
{
	protected function getInput()
	{
		JHtml::_('stylesheet',
'com_rsticketspro/awesomplete.css', array('relative'
=> true, 'version' => 'auto'));
		JHtml::_('script',
'com_rsticketspro/awesomplete.min.js', array('relative'
=> true, 'version' => 'auto'));
		JHtml::_('script',
'com_rsticketspro/awesomplete.script.js',
array('relative' => true, 'version' =>
'auto'));

		$allowEditor =
RSTicketsProHelper::getConfig('allow_rich_editor');
		JFactory::getDocument()->addScriptDeclaration("initAwesomplete('{$this->id}',
$allowEditor);");

		return parent::getInput();
	}
}models/forms/configuration.xml000064400000051611151165644010012555
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="general"
	          label="RST_GENERAL">
		<field name="date_format"
		       label="RST_DATE_TIME"
		       description="RST_DATE_TIME_DESC"
		       type="text"
		       size="40"/>
		<field name="date_format_notime"
		       label="RST_DATE_TIME_NOTIME"
		       description="RST_DATE_TIME_NOTIME_DESC"
		       type="text"
		       size="40"/>
		<field name="bootstrap"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_RSTICKETSPRO_BOOTSTRAP_DESC"
		       label="RST_RSTICKETSPRO_BOOTSTRAP"
		       default="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="jquery"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_RSTICKETSPRO_LOAD_JQUERY_DESC"
		       label="RST_RSTICKETSPRO_LOAD_JQUERY"
		       default="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="emails_as_usernames"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       default="0"
		       description="RST_RSTICKETSPRO_EMAILS_TO_USERS_DESC"
		       label="RST_RSTICKETSPRO_EMAILS_TO_USERS_LABEL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="allow_password_change"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       default="0"
		       description="RST_RSTICKETSPRO_ALLOW_PASSWORD_DESC"
		       label="RST_RSTICKETSPRO_ALLOW_PASSWORD_LABEL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="user_type"
		       type="usergrouplist"
		       description="RST_NEW_USER_TYPE_DESC"
		       label="RST_NEW_USER_TYPE"
		       default="2"/>
		<field name="admin_groups"
			   type="usergrouplist"
			   multiple="multiple"
			   description="COM_RSTICKETSPRO_ADMIN_GROUPS_DESC"
			   label="COM_RSTICKETSPRO_ADMIN_GROUPS_LABEL"
			   default="6,7,8"/>
		<field name="rsticketspro_link"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_RSTICKETSPRO_LINK_DESC"
		       label="RST_RSTICKETSPRO_LINK">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="allow_rich_editor"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_ALLOW_RICH_EDITOR_DESC"
		       label="RST_ALLOW_RICH_EDITOR">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="allow_rich_editor_buttons"
		       type="radio"
			   showon="allow_rich_editor:1"
		       class="btn-group btn-group-yesno"
		       description="RST_ALLOW_RICH_EDITOR_BUTTONS_DESC"
		       label="RST_ALLOW_RICH_EDITOR_BUTTONS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="show_reply_as_customer"
			   type="radio"
			   class="btn-group btn-group-yesno"
			   description="RST_SHOW_REPLY_AS_CUSTOMER_DESC"
			   label="RST_SHOW_REPLY_AS_CUSTOMER">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="show_kb_search"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_SHOW_KB_SEARCH_DESC"
		       label="RST_SHOW_KB_SEARCH">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="show_signature"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_SHOW_SIGNATURE_DESC"
		       label="RST_SHOW_SIGNATURE">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="submit_redirect"
		       label="RST_REDIRECT_AFTER_SUBMIT"
		       description="RST_REDIRECT_AFTER_SUBMIT_DESC"
		       type="text"
		       size="40"/>
		<field name="staff_force_departments"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_STAFF_MEMBERS_FORCE_DEPARTMENTS_DESC"
		       label="RST_STAFF_MEMBERS_FORCE_DEPARTMENTS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="calculate_itemids"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_CALCULATE_ITEMIDS_DESC"
		       label="RST_CALCULATE_ITEMIDS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="use_magnific_popup"
				type="radio"
				class="btn-group btn-group-yesno"
				default="0"
				label="RST_USE_MAGNIFIC_POPUP"
				description="RST_USE_MAGNIFIC_POPUP_DESC">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="data_protection"
label="COM_RSTICKETSPRO_DATA_PROTECTION">
		<field name="forms_consent" type="radio"
default="1" class="btn-group btn-group-yesno"
label="COM_RSTICKETSPRO_FORMS_CONSENT"
description="COM_RSTICKETSPRO_FORMS_CONSENT_DESC"
labelclass="control-label">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="store_ip" type="radio"
default="1" class="btn-group btn-group-yesno"
label="COM_RSTICKETSPRO_STORE_IP"
description="COM_RSTICKETSPRO_STORE_IP_DESC"
labelclass="control-label">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="store_user_agent" type="radio"
default="1" class="btn-group btn-group-yesno"
label="COM_RSTICKETSPRO_STORE_USER_AGENT"
description="COM_RSTICKETSPRO_STORE_USER_AGENT_DESC"
labelclass="control-label">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="allow_self_anonymisation"
type="radio" default="0" class="btn-group
btn-group-yesno"
label="COM_RSTICKETSPRO_ALLOW_SELF_ANONYMISATION"
description="COM_RSTICKETSPRO_ALLOW_SELF_ANONYMISATION_DESC"
labelclass="control-label">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="anonymise_joomla_data" type="radio"
default="1" class="btn-group btn-group-yesno"
label="COM_RSTICKETSPRO_ANONYMISE_JOOMLA_DATA"
description="COM_RSTICKETSPRO_ANONYMISE_JOOMLA_DATA_DESC"
labelclass="control-label">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="messages"
	          label="RST_MESSAGES">
		<field name="global_message"
		       type="editor"
		       label="RST_GLOBAL_MESSAGE"
		       description="RST_GLOBAL_MESSAGE_DESC"
		       filter="raw"
		       buttons="true"/>
		<field name="submit_message"
		       type="editor"
		       label="RST_SUBMIT_MESSAGE"
		       description="RST_SUBMIT_MESSAGE_DESC"
		       filter="raw"
		       buttons="true"/>
	</fieldset>
	<fieldset name="tickets"
	          label="RST_TICKETS">
		<field name="spacer_appearance"
		       type="spacer"
		       label="RST_APPEARANCE"
		       class="com-rsticketspro-spacer"/>
		<field name="ticket_view"
		       type="list"
		       description="RST_TICKET_VIEW_DESC"
		       label="RST_TICKET_VIEW">
			<option
value="plain">RST_TICKET_VIEW_PLAIN</option>
			<option
value="tabbed">RST_TICKET_VIEW_TABBED</option>
			<option
value="accordion">RST_TICKET_VIEW_ACCORDION</option>
		</field>
		<field name="messages_direction"
		       type="list"
		       description="RST_MESSAGES_DIRECTION_DESC"
		       label="RST_MESSAGES_DIRECTION">
			<option value="ASC">RST_MESSAGES_ASC</option>
			<option value="DESC">RST_MESSAGES_DESC</option>
		</field>
		<field name="show_ticket_info"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_SHOW_TICKET_INFO_DESC"
		       label="RST_SHOW_TICKET_INFO">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="show_user_info"
		       type="list"
		       description="RST_SHOW_USER_INFO_DESC"
		       label="RST_SHOW_USER_INFO">
			<option value="name">RST_NAME</option>
			<option value="username">RST_USERNAME</option>
			<option value="email">RST_EMAIL</option>
		</field>
		<field name="show_email_link"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_SHOW_EMAIL_LINK_DESC"
		       label="RST_SHOW_EMAIL_LINK">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="ticket_viewing_history"
		       type="list"
		       description="RST_TICKET_VIEWING_HISTORY_DESC"
		       label="RST_TICKET_VIEWING_HISTORY">
			<option
value="0">RST_TICKET_VIEWING_HISTORY_DISABLE</option>
			<option
value="1">RST_TICKET_VIEWING_HISTORY_STAFF</option>
			<option
value="2">RST_TICKET_VIEWING_HISTORY_CUSTOMER</option>
		</field>
		<field name="color_whole_ticket"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_COLOR_WHOLE_TICKET_DESC"
		       label="RST_COLOR_WHOLE_TICKET">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="spacer_customer_input"
		       type="spacer"
		       label="RST_CUSTOMER_INPUT"
		       class="com-rsticketspro-spacer"/>
		<field name="rsticketspro_add_tickets"
		       type="list"
		       description="RST_RECEIVE_TICKETS_FROM_DESC"
		       label="RST_RECEIVE_TICKETS_FROM">
			<option value="1">RST_EVERYONE</option>
			<option value="0">RST_REGISTERED</option>
		</field>
		<field name="blocklist" type="textarea"
label="RST_EMAIL_SUBMIT_BLOCKLIST"
description="RST_EMAIL_SUBMIT_BLOCKLIST_DESC" rows="5"
cols="50" />
		<field name="show_alternative_email"
			   type="radio"
			   class="btn-group btn-group-yesno"
			   description="RST_SHOW_ALTERNATIVE_EMAIL_DESC"
			   label="RST_SHOW_ALTERNATIVE_EMAIL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="show_ticket_voting"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_SHOW_TICKET_VOTING_DESC"
		       label="RST_SHOW_TICKET_VOTING">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="enable_followup"
			   type="radio"
			   class="btn-group btn-group-yesno"
			   description="RST_ENABLE_FOLLOWUP_DESC"
			   label="RST_ENABLE_FOLLOWUP_LABEL"
			   default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="followup_cron_interval"
		       label="RST_FOLLOWUP_CHECK_DESC"
		       description="RST_FOLLOWUP_CHECK_DESC"
		       type="text"
		       size="40"/>
		<field name="followup_interval"
			   type="text"
			   default="1"
			   label="RST_EMAIL_FOLLOWUP_INTERVAL_LABEL"
			   description="RST_EMAIL_FOLLOWUP_INTERVAL_DESC"/>
		<field name="followup_enabled_time"
			   type="hidden"
			   default="0"/>
		<field name="allow_ticket_closing"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_ALLOW_TICKET_CLOSING_DESC"
		       label="RST_ALLOW_TICKET_CLOSING">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="allow_ticket_reopening"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_ALLOW_TICKET_REOPENING_DESC"
		       label="RST_ALLOW_TICKET_REOPENING">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="spacer_predefined_subjects"
		       type="spacer"
		       label="RST_PREDEFINED_SUBJECTS"
		       class="com-rsticketspro-spacer"/>
		<field name="allow_predefined_subjects"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_USE_PREDEFINED_SUBJECTS_DESC"
		       label="RST_USE_PREDEFINED_SUBJECTS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="spacer_time_spent"
		       type="spacer"
		       label="RST_TIME_SPENT"
		       class="com-rsticketspro-spacer"/>
		<field name="enable_time_spent"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_ENABLE_TIME_SPENT_DESC"
		       label="RST_ENABLE_TIME_SPENT">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="time_spent_type"
			   type="list"
			   description="RST_TIME_SPENT_TYPE_DESC"
			   label="RST_TIME_SPENT_TYPE">
			<option
value="input">RST_TIME_SPENT_INPUT</option>
			<option
value="tracking">RST_TIME_SPENT_TRACKING</option>
		</field>
		<field name="time_spent_unit"
		       type="list"
		       description="RST_TIME_SPENT_UNIT_DESC"
		       label="RST_TIME_SPENT_UNIT">
			<option value="m">RST_TIME_UNIT_MINUTES</option>
			<option value="h">RST_TIME_UNIT_HOURS</option>
			<option value="d">RST_TIME_UNIT_DAYS</option>
		</field>
	</fieldset>
	<fieldset name="avatars"
	          label="RST_AVATARS">
		<field name="avatars"
		       type="avatars"
		       description="RST_AVATARS_ENABLE_DESC"
		       label="RST_AVATARS_ENABLE"/>
	</fieldset>
	<fieldset name="captcha"
	          label="RST_CAPTCHA">
		<field name="captcha_enabled"
		       type="list"
		       description="RST_CAPTCHA_ENABLE_DESC"
		       label="RST_CAPTCHA_ENABLE">
			<option value="0">JNO</option>
			<option
value="1">RST_USE_BUILTIN_CAPTCHA</option>
			<option value="3">RST_USE_RECAPTCHA_NEW</option>
			<option
value="4">RST_USE_RECAPTCHA_NEW_INVISIBLE</option>
			<option
value="5">RST_USE_RECAPTCHA_BUILT_IN_JOOMLA</option>
		</field>
		<field name="captcha_enabled_for"
		       type="list"
			   class="advancedSelect"
		       multiple="multiple"
			   showon="captcha_enabled!:0"
		       description="RST_CAPTCHA_ENABLED_FOR_DESC"
		       label="RST_CAPTCHA_ENABLED_FOR">
			<option
value="unregistered">RST_CAPTCHA_UNREGISTERED</option>
			<option
value="customers">RST_CAPTCHA_CUSTOMERS</option>
			<option value="staff">RST_CAPTCHA_STAFF</option>
		</field>
		<field name="spacer_captcha"
		       type="spacer"
			   showon="captcha_enabled:1"
		       label="RST_BUILT_IN_CAPTCHA"
		       class="com-rsticketspro-spacer"/>
		<field name="captcha_characters"
			   showon="captcha_enabled:1"
		       label="RST_CAPTCHA_CHARACTERS"
		       description="RST_CAPTCHA_CHARACTERS_DESC"
		       type="text"
		       size="40"/>
		<field name="captcha_case_sensitive"
			   showon="captcha_enabled:1"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_CAPTCHA_CASE_SENSITIVE_DESC"
		       label="RST_CAPTCHA_CASE_SENSITIVE">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="spacer_recaptcha_new"
			   showon="captcha_enabled:3,4"
		       type="spacer"
		       label="RST_RECAPTCHA_NEW_SETTINGS"
		       class="com-rsticketspro-spacer"/>
		<field name="recaptcha_new_site_key"
			   showon="captcha_enabled:3,4"
		       type="text"
		       class="input-xlarge"
		       description="RST_RECAPTCHA_NEW_SITE_KEY_DESC"
		       label="RST_RECAPTCHA_NEW_SITE_KEY"
		       size="70"/>
		<field name="recaptcha_new_secret_key"
			   showon="captcha_enabled:3,4"
		       type="text"
		       class="input-xlarge"
		       description="RST_RECAPTCHA_NEW_SECRET_KEY_DESC"
		       label="RST_RECAPTCHA_NEW_SECRET_KEY"
		       size="70"/>
		<field name="recaptcha_new_theme"
			   showon="captcha_enabled:3,4"
		       type="list"
		       default="light"
		       label="RST_RECAPTCHA_NEW_THEME"
		       description="RST_RECAPTCHA_NEW_THEME_DESC">
			<option
value="light">RST_RECAPTCHA_NEW_THEME_LIGHT</option>
			<option
value="dark">RST_RECAPTCHA_NEW_THEME_DARK</option>
		</field>
		<field name="recaptcha_new_type"
			   showon="captcha_enabled:3,4"
		       type="list"
		       default="image"
		       label="RST_RECAPTCHA_NEW_TYPE"
		       description="RST_RECAPTCHA_NEW_TYPE_DESC">
			<option
value="image">RST_RECAPTCHA_NEW_TYPE_IMAGE</option>
			<option
value="audio">RST_RECAPTCHA_NEW_TYPE_AUDIO</option>
		</field>
	</fieldset>
	<fieldset name="email"
	          label="RST_EMAIL">
		<field name="email_use_global"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_EMAIL_USE_GLOBAL_DESC"
		       label="RST_EMAIL_USE_GLOBAL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="email_address"
			   showon="email_use_global:0"
		       label="RST_EMAIL_FROM_EMAIL"
		       description="RST_EMAIL_FROM_EMAIL_DESC"
		       type="text"
		       size="40"/>
		<field name="email_address_fullname"
			   showon="email_use_global:0"
		       label="RST_EMAIL_FROM_FULLNAME"
		       description="RST_EMAIL_FROM_FULLNAME_DESC"
		       type="text"
		       size="40"/>
		<field name="use_reply_above"
			   type="radio"
		       class="btn-group btn-group-yesno"
			   default="1"
		       label="RST_USE_REPLY_ABOVE"
		       description="RST_USE_REPLY_ABOVE_DESC">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="reply_above"
			   showon="use_reply_above:1"
		       label="RST_REPLY_ABOVE"
		       description="RST_REPLY_ABOVE_DESC"
		       type="text"
			   filter="raw"
		       size="40"/>
		<field name="customer_itemid"
		       label="RST_CONFIG_CUSTOMER_ITEMID"
		       description="RST_CONFIG_CUSTOMER_ITEMID_DESC"
		       type="text"
		       size="40"/>
		<field name="staff_itemid"
		       label="RST_CONFIG_STAFF_ITEMID"
		       description="RST_CONFIG_STAFF_ITEMID_DESC"
		       type="text"
		       size="40"/>
	</fieldset>
	<fieldset name="autoclose"
	          label="RST_AUTOCLOSE">
		<field name="autoclose_enabled"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_AUTOCLOSE_ENABLE_DESC"
		       label="RST_AUTOCLOSE_ENABLE">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="autoclose_automatically"
		       type="radio"
		       class="btn-group btn-group-yesno"
		       description="RST_AUTOCLOSE_AUTOMATICALLY_DESC"
		       label="RST_AUTOCLOSE_AUTOMATICALLY_LABEL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="autoclose_cron_interval"
		       label="RST_AUTOCLOSE_CHECK_DESC"
		       description="RST_AUTOCLOSE_CHECK_DESC"
		       type="text"
		       size="40"/>
		<field name="autoclose_email_interval"
		       label="RST_AUTOCLOSE_DAYS_STATUS"
		       description="RST_AUTOCLOSE_DAYS_STATUS_DESC"
		       type="text"
		       size="40"/>
		<field name="autoclose_interval"
		       label="RST_AUTOCLOSE_DAYS_CLOSED"
		       description="RST_AUTOCLOSE_DAYS_CLOSED_DESC"
		       type="text"
		       size="40"/>
	</fieldset>
	<fieldset name="notices"
	          label="RST_NOTICES">
		<field name="notice_email_address"
		       label="RST_NOTICES_EMAIL"
		       description="RST_NOTICES_EMAIL_DESC"
		       type="text"
		       size="40"/>
		<field name="notice_max_replies_nr"
		       label="RST_NOTICES_NO_REPLIES"
		       description="RST_NOTICES_NO_REPLIES_DESC"
		       type="text"
		       size="40"/>
		<field name="notice_replies_with_no_response_nr"
		       label="RST_NOTICES_NO_REPLIES_WITH_NO_RESPONSE"
		      
description="RST_NOTICES_NO_REPLIES_WITH_NO_RESPONSE_DESC"
		       type="text"
		       size="40"/>
		<field name="notice_not_allowed_keywords"
		       label="RST_NOTICES_TRIGGERED_KEYWORDS"
		       description="RST_NOTICES_TRIGGERED_KEYWORDS_DESC"
		       type="textarea"
		       rows="5"
		       cols="50"/>
	</fieldset>
	<fieldset name="knowledgebase"
	          label="RST_KNOWLEDGEBASE">
		<field name="kb_hot_hits"
		       label="RST_KB_HOT_HITS"
		       description="RST_KB_HOT_HITS_DESC"
		       type="text"
		       size="40"/>
		<field name="kb_load_plugin"
		       type="radio"
		       default="0"
		       class="btn-group btn-group-yesno"
		       description="RST_KB_LOAD_CONTENT_PLUGIN_DESC"
		       label="RST_KB_LOAD_CONTENT_PLUGIN">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="kb_comments"
		       type="comments"
		       description="RST_KB_COMMENTS_DESC"
		       label="RST_KB_COMMENTS"/>
	</fieldset>
	<fieldset name="kbtemplate"
label="RST_KB_TEMPLATE">
		<field name="kb_template_body" type="editor"
label="RST_KB_TEMPLATE_BODY"
description="RST_KB_TEMPLATE_BODY_DESC" filter="raw"
buttons="true" />
		<field name="kb_template_ticket_body"
type="editor" label="RST_KB_TEMPLATE_TICKET_BODY"
description="RST_KB_TEMPLATE_TICKET_BODY_DESC"
filter="raw" buttons="true" />
	</fieldset>
	<fieldset name="updates"
	          label="RST_UPDATES">
		<field name="global_register_code"
		       type="text"
		       description="RST_LICENSE_CODE_DESC"
		       label="RST_LICENSE_CODE"
		       size="70"/>
	</fieldset>
	<fieldset name="permissions"
	          label="JCONFIG_PERMISSIONS_LABEL"
	          description="JCONFIG_PERMISSIONS_DESC">
	</fieldset>
</form>models/forms/customfield.xml000064400000004161151165644010012222
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="department_id" required="true"
please="true" type="departments" default="0"
label="RST_CUSTOM_FIELD_DEPARTMENT"
description="RST_CUSTOM_FIELD_DEPARTMENT_DESC" />
		<field name="name" type="text"
description="RST_CUSTOM_FIELD_DESC"
label="RST_CUSTOM_FIELD" required="true"
size="64" />
		<field name="label" type="text"
description="RST_LABEL_DESC" label="RST_LABEL"
size="64" />
		<field name="type" type="list"
description="RST_TYPE_DESC" label="RST_TYPE">
			<option value="freetext">RST_FREETEXT</option>
			<option value="textbox">RST_TEXTBOX</option>
			<option value="textarea">RST_TEXTAREA</option>
			<option value="select">RST_SELECT</option>
			<option
value="multipleselect">RST_MULTIPLESELECT</option>
			<option value="checkbox">RST_CHECKBOX</option>
			<option value="radio">RST_RADIO</option>
			<option value="calendar">RST_CALENDAR</option>
			<option
value="calendartime">RST_CALENDARTIME</option>
		</field>
		<field name="values" label="RST_VALUES"
description="RST_VALUES_DESC" type="textarea"
filter="raw" rows="5" cols="50" />
		<field name="additional"
label="RST_ADDITIONAL_ATTR"
description="RST_ADDITIONAL_ATTR_DESC" type="textarea"
filter="raw" rows="5" cols="50"
showon="type!:freetext" />
		<field name="required" type="radio"
class="btn-group btn-group-yesno" label="RST_REQUIRED"
description="RST_REQUIRED_DESC" size="1"
default="0" showon="type!:freetext">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="validation" label="RST_VALIDATION"
description="RST_VALIDATION_DESC" type="textarea"
filter="raw" rows="5" cols="50"
showon="type!:freetext" />
		<field name="description"
label="RST_CUSTOM_FIELD_DESCRIPTION"
description="RST_CUSTOM_FIELD_DESCRIPTION_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1" default="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/department.xml000064400000012530151165644010012046
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="general" label="RST_GENERAL">
		<field name="name" type="text"
description="RST_DEPARTMENT_DESC"
label="RST_DEPARTMENT" required="true"
size="64" filter="trim" />
		<field name="prefix" type="text"
description="RST_PREFIX_DESC" label="RST_PREFIX"
required="true" size="64" filter="trim"
/>
		<field name="jgroups" type="usergrouplist"
multiple="multiple" class="advancedSelect"
label="COM_RSTICKETSPRO_EXCLUDE_DEPARTMENT_FROM_GROUP_LABEL"
description="COM_RSTICKETSPRO_EXCLUDE_DEPARTMENT_FROM_GROUP_DESCRIPTION"
/>
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1">
			<option value="0">JNO</option>
			<option value="1">JYES</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
	<fieldset name="tickets"
label="RST_DEPARTMENT_TICKETS">
		<field name="assignment_type" type="list"
description="RST_ASSIGNMENT_TYPE_DESC"
label="RST_ASSIGNMENT_TYPE">
			<option value="0">RST_STATIC</option>
			<option value="1">RST_AUTOMATIC</option>
		</field>
		<field name="generation_rule" type="list"
description="RST_GENERATION_RULE_DESC"
label="RST_GENERATION_RULE">
			<option value="0">RST_SEQUENTIAL</option>
			<option value="1">RST_RANDOM</option>
		</field>
		<field name="priority_id" type="priorities"
label="RST_PRIORITY" description="RST_PRIORITY_DESC"
/>
		<field name="predefined_subjects"
label="RST_PREDEFINED_SUBJECTS_ADD"
description="RST_PREDEFINED_SUBJECTS_ADD_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
	</fieldset>
	<fieldset name="emails"
label="RST_DEPARTMENT_EMAILS">
		<field name="email_use_global" type="radio"
class="btn-group btn-group-yesno"
description="RST_EMAIL_USE_RSTICKETS_GLOBAL_DESC"
label="RST_EMAIL_USE_RSTICKETS_GLOBAL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="email_address"
showon="email_use_global:0" type="text"
description="RST_EMAIL_FROM_EMAIL_DESC"
label="RST_EMAIL_FROM_EMAIL" size="64" />
		<field name="email_address_fullname"
showon="email_use_global:0" type="text"
description="RST_EMAIL_FROM_FULLNAME_DESC"
label="RST_EMAIL_FROM_FULLNAME" size="64" />
		<field name="customer_send_email" type="radio"
class="btn-group btn-group-yesno"
description="RST_CUSTOMER_SEND_EMAIL_DESC"
label="RST_CUSTOMER_SEND_EMAIL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="customer_send_copy_email"
type="radio" class="btn-group btn-group-yesno"
description="RST_CUSTOMER_SEND_COPY_EMAIL_DESC"
label="RST_CUSTOMER_SEND_COPY_EMAIL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="customer_attach_email" type="radio"
class="btn-group btn-group-yesno"
description="RST_CUSTOMER_ATTACH_EMAIL_DESC"
label="RST_CUSTOMER_ATTACH_EMAIL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="staff_send_email" type="radio"
class="btn-group btn-group-yesno"
description="RST_STAFF_SEND_EMAIL_DESC"
label="RST_STAFF_SEND_EMAIL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="staff_attach_email" type="radio"
class="btn-group btn-group-yesno"
description="RST_STAFF_ATTACH_EMAIL_DESC"
label="RST_STAFF_ATTACH_EMAIL">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="download_type" type="list"
default="attachment"
description="RST_DOWNLOAD_TYPE_DESC"
label="RST_DOWNLOAD_TYPE_LABEL">
			<option
value="link">RST_LINK_FROM_SERVER</option>
			<option
value="attachment">RST_EMAIL_ATTACHMENT</option>
		</field>
		<field name="notify_new_tickets_to"
label="RST_NOTIFY_NEW_TICKETS_TO"
description="RST_NOTIFY_NEW_TICKETS_TO_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="cc" label="RST_DEPARTMENT_CC"
description="RST_DEPARTMENT_CC_DESC" type="textarea"
filter="raw" rows="5" cols="50" />
		<field name="bcc" label="RST_DEPARTMENT_BCC"
description="RST_DEPARTMENT_BCC_DESC" type="textarea"
filter="raw" rows="5" cols="50" />
		<field name="notify_assign" type="radio"
class="btn-group btn-group-yesno"
description="RST_NOTIFY_ASSIGN_DESC"
label="RST_NOTIFY_ASSIGN">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="uploads"
label="RST_DEPARTMENT_UPLOADS">
		<field name="upload" type="list"
description="RST_UPLOAD_FOR_DESC"
label="RST_UPLOAD_FOR">
			<option value="1">RST_EVERYONE</option>
			<option value="2">RST_REGISTERED</option>
			<option value="0">RST_NOBODY</option>
		</field>
		<field name="upload_ticket_required"
showon="upload:1,2" type="radio" class="btn-group
btn-group-yesno"
description="COM_RSTICKETSPRO_UPLOAD_TICKET_REQUIRED_DESC"
label="COM_RSTICKETSPRO_UPLOAD_TICKET_REQUIRED"
default="0">
			<option value="0">JNO</option>
			<option value="1">JYES</option>
		</field>
		<field name="upload_extensions"
showon="upload:1,2" label="RST_UPLOAD_EXTENSIONS"
description="RST_UPLOAD_EXTENSIONS_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="upload_size" showon="upload:1,2"
type="text" description="RST_UPLOAD_SIZE_DESC"
label="RST_UPLOAD_SIZE" size="64" />
		<field name="upload_files" showon="upload:1,2"
type="text" description="RST_UPLOAD_FILES_DESC"
label="RST_UPLOAD_FILES" size="64" />
	</fieldset>
</form>models/forms/email.xml000064400000001223151165644010010767
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="subject" type="text"
description="RST_EMAIL_SUBJECT_DESC"
label="RST_EMAIL_SUBJECT" size="64" />
		<field name="message" type="editor"
label="RST_EMAIL_MESSAGE"
description="RST_EMAIL_MESSAGE_DESC" required="true"
filter="raw" buttons="true" />
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1">
			<option value="0">JNO</option>
			<option value="1">JYES</option>
		</field>
		<field name="type" type="hidden" />
		<field name="lang" type="hidden" />
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/filter_customfields.xml000064400000004514151165644010013754
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
        <field
                name="state"
                type="list"
                onchange="this.form.submit();"
                default=""
        >
            <option
value="">JOPTION_SELECT_PUBLISHED</option>
            <option value="1">JPUBLISHED</option>
            <option value="0">JUNPUBLISHED</option>
        </field>
		<field
				name="department_id"
				type="departments"
				please="true"
				onchange="this.form.submit();"
				default=""
		>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="f.ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="f.ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
            <option value="department_name
ASC">COM_RSTICKETSPRO_DEPARTMENT_ORDER_ASC</option>
            <option value="department_name
DESC">COM_RSTICKETSPRO_DEPARTMENT_ORDER_DESC</option>
			<option value="f.name
ASC">COM_RSTICKETSPRO_CUSTOM_FIELD_ORDER_ASC</option>
			<option value="f.name
DESC">COM_RSTICKETSPRO_CUSTOM_FIELD_ORDER_DESC</option>
			<option value="f.published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="f.published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="required
ASC">COM_RSTICKETSPRO_REQUIRED_ORDER_ASC</option>
			<option value="required
DESC">COM_RSTICKETSPRO_REQUIRED_ORDER_DESC</option>
			<option value="f.id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="f.id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_departments.xml000064400000003754151165644010013606
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
        <field
                name="state"
                type="list"
                onchange="this.form.submit();"
                default=""
        >
            <option
value="">JOPTION_SELECT_PUBLISHED</option>
            <option value="1">JPUBLISHED</option>
            <option value="0">JUNPUBLISHED</option>
        </field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
            <option value="name
ASC">COM_RSTICKETSPRO_DEPARTMENT_ORDER_ASC</option>
            <option value="name
DESC">COM_RSTICKETSPRO_DEPARTMENT_ORDER_DESC</option>
			<option value="prefix
ASC">COM_RSTICKETSPRO_PREFIX_ORDER_ASC</option>
			<option value="prefix
DESC">COM_RSTICKETSPRO_PREFIX_ORDER_DESC</option>
			<option value="published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_emails.xml000064400000003505151165644010012524
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
		<field name="language" type="rsticketsprolang"
onchange="this.form.submit();">
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="lang
ASC">COM_RSTICKETSPRO_LANGUAGE_ORDER_ASC</option>
			<option value="lang
DESC">COM_RSTICKETSPRO_LANGUAGE_ORDER_DESC</option>
			<option value="type
ASC">COM_RSTICKETSPRO_TYPE_ORDER_ASC</option>
			<option value="type
DESC">COM_RSTICKETSPRO_TYPE_ORDER_DESC</option>
			<option value="subject
ASC">COM_RSTICKETSPRO_SUBJECT_ORDER_ASC</option>
			<option value="subject
DESC">COM_RSTICKETSPRO_SUBJECT_ORDER_DESC</option>
			<option value="published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_groups.xml000064400000002247151165644010012573
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="name
ASC">COM_RSTICKETSPRO_GROUP_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_GROUP_ORDER_DESC</option>>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_kbarticles.xml000064400000005122151165644010013372
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
		<field name="category_id"
onchange="this.form.submit();" type="kbcategories"
show_noparent="true" please="true" />
		<field
				name="private"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">COM_RSTICKETSPRO_SELECT_PRIVATE</option>
			<option
value="1">COM_RSTICKETSPRO_PRIVATE</option>
			<option
value="0">COM_RSTICKETSPRO_PUBLIC</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="a.ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="a.ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
			<option value="a.name
ASC">COM_RSTICKETSPRO_ARTICLE_ORDER_ASC</option>
			<option value="a.name
DESC">COM_RSTICKETSPRO_ARTICLE_ORDER_DESC</option>
			<option value="c.name
ASC">COM_RSTICKETSPRO_CATEGORY_ORDER_ASC</option>
			<option value="c.name
DESC">COM_RSTICKETSPRO_CATEGORY_ORDER_DESC</option>
			<option value="a.hits
ASC">COM_RSTICKETSPRO_HITS_ORDER_ASC</option>
			<option value="a.hits
DESC">COM_RSTICKETSPRO_HITS_ORDER_DESC</option>
			<option value="a.private
ASC">COM_RSTICKETSPRO_PRIVATE_ORDER_ASC</option>
			<option value="a.private
DESC">COM_RSTICKETSPRO_PRIVATE_ORDER_DESC</option>
			<option value="a.published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="a.published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="a.id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="a.id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_kbcategories.xml000064400000004236151165644010013716
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
		<field
				name="private"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">COM_RSTICKETSPRO_SELECT_PRIVATE</option>
			<option
value="1">COM_RSTICKETSPRO_PRIVATE</option>
			<option
value="0">COM_RSTICKETSPRO_PUBLIC</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
			<option value="name
ASC">COM_RSTICKETSPRO_CATEGORY_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_CATEGORY_ORDER_DESC</option>
			<option value="private
ASC">COM_RSTICKETSPRO_PRIVATE_ORDER_ASC</option>
			<option value="private
DESC">COM_RSTICKETSPRO_PRIVATE_ORDER_DESC</option>
			<option value="published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_kbrules.xml000064400000003343151165644010012721
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="r.name
ASC">COM_RSTICKETSPRO_RULE_ORDER_ASC</option>
			<option value="r.name
DESC">COM_RSTICKETSPRO_RULE_ORDER_DESC</option>
			<option value="c.name
ASC">COM_RSTICKETSPRO_CATEGORY_ORDER_ASC</option>
			<option value="c.name
DESC">COM_RSTICKETSPRO_CATEGORY_ORDER_DESC</option>
			<option value="r.published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="r.published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="r.id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="r.id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_predefinedsearches.xml000064400000003337151165644010015100
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
			<option value="name
ASC">COM_RSTICKETSPRO_SEARCH_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_SEARCH_ORDER_DESC</option>
			<option value="published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_priorities.xml000064400000003343151165644010013443
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
			<option value="name
ASC">COM_RSTICKETSPRO_PRIORITY_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_PRIORITY_ORDER_DESC</option>
			<option value="published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_staffs.xml000064400000003434151165644010012541
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="username
ASC">COM_RSTICKETSPRO_USERNAME_ORDER_ASC</option>
			<option value="username
DESC">COM_RSTICKETSPRO_USERNAME_ORDER_DESC</option>
			<option value="name
ASC">COM_RSTICKETSPRO_NAME_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_NAME_ORDER_DESC</option>
			<option value="email
ASC">COM_RSTICKETSPRO_EMAIL_ORDER_ASC</option>
			<option value="email
DESC">COM_RSTICKETSPRO_EMAIL_ORDER_DESC</option>
			<option value="group_name
ASC">COM_RSTICKETSPRO_GROUP_ORDER_ASC</option>
			<option value="group_name
DESC">COM_RSTICKETSPRO_GROUP_ORDER_DESC</option>
			<option value="priority_name
ASC">COM_RSTICKETSPRO_PRIORITY_ORDER_ASC</option>
			<option value="priority_name
DESC">COM_RSTICKETSPRO_PRIORITY_ORDER_DESC</option>
			<option value="u.id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="u.id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_statuses.xml000064400000003337151165644020013131
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
		<field
				name="state"
				type="list"
				onchange="this.form.submit();"
				default=""
		>
			<option
value="">JOPTION_SELECT_PUBLISHED</option>
			<option value="1">JPUBLISHED</option>
			<option value="0">JUNPUBLISHED</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="ordering
ASC">COM_RSTICKETSPRO_ORDERING_ORDER_ASC</option>
			<option value="ordering
DESC">COM_RSTICKETSPRO_ORDERING_ORDER_DESC</option>
			<option value="name
ASC">COM_RSTICKETSPRO_STATUS_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_STATUS_ORDER_DESC</option>
			<option value="published
ASC">COM_RSTICKETSPRO_STATE_ORDER_ASC</option>
			<option value="published
DESC">COM_RSTICKETSPRO_STATE_ORDER_DESC</option>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_tickets.xml000064400000005374151165644020012727
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />

		<field
				name="department_id"
				type="departments"
				onchange="this.form.submit();"
				default=""
		>
			<option value="">RST_SELECT_DEPARTMENT</option>
		</field>

		<field
				name="priority_id"
				type="priorities"
				onchange="this.form.submit();"
				default=""
		>
			<option value="">RST_SELECT_PRIORITY</option>
		</field>

		<field
				name="status_id"
				type="statuses"
				onchange="this.form.submit();"
				default=""
		>
			<option value="">RST_SELECT_STATUS</option>
		</field>
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="date DESC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="date
ASC">COM_RSTICKETSPRO_DATE_ORDER_ASC</option>
			<option value="date
DESC">COM_RSTICKETSPRO_DATE_ORDER_DESC</option>
			<option value="last_reply
ASC">COM_RSTICKETSPRO_LASTREPLY_ORDER_ASC</option>
			<option value="last_reply
DESC">COM_RSTICKETSPRO_LASTREPLY_ORDER_DESC</option>
			<option value="flagged
ASC">COM_RSTICKETSPRO_FLAGGED_ORDER_ASC</option>
			<option value="flagged
DESC">COM_RSTICKETSPRO_FLAGGED_ORDER_DESC</option>
			<option value="code
ASC">COM_RSTICKETSPRO_CODE_ORDER_ASC</option>
			<option value="code
DESC">COM_RSTICKETSPRO_CODE_ORDER_DESC</option>
			<option value="subject
ASC">COM_RSTICKETSPRO_SUBJECT_ORDER_ASC</option>
			<option value="subject
DESC">COM_RSTICKETSPRO_SUBJECT_ORDER_DESC</option>
			<option value="customer
ASC">COM_RSTICKETSPRO_CUSTOMER_ORDER_ASC</option>
			<option value="customer
DESC">COM_RSTICKETSPRO_CUSTOMER_ORDER_DESC</option>
			<option value="priority
ASC">COM_RSTICKETSPRO_PRIORITY_ORDER_ASC</option>
			<option value="priority
DESC">COM_RSTICKETSPRO_PRIORITY_ORDER_DESC</option>
			<option value="status
ASC">COM_RSTICKETSPRO_STATUS_ORDER_ASC</option>
			<option value="status
DESC">COM_RSTICKETSPRO_STATUS_ORDER_DESC</option>
			<option value="staff
ASC">COM_RSTICKETSPRO_STAFF_ORDER_ASC</option>
			<option value="staff
DESC">COM_RSTICKETSPRO_STAFF_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/filter_users.xml000064400000002746151165644020012422
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="filter">
        <field
                name="search"
                type="text"
                label="COM_RSTICKETSPRO_FILTER_SEARCH_LABEL"
               
description="COM_RSTICKETSPRO_SEARCH_FILTER_PLACEHOLDER"
                hint="JSEARCH_FILTER"
        />
    </fields>

    <fields name="list">
        <field
                name="fullordering"
                type="list"
                label="JGLOBAL_SORT_BY"
                onchange="this.form.submit();"
                default="FormId ASC"
        >
            <option
value="">JGLOBAL_SORT_BY</option>
			<option value="id
ASC">COM_RSTICKETSPRO_ID_ORDER_ASC</option>
			<option value="id
DESC">COM_RSTICKETSPRO_ID_ORDER_DESC</option>
			<option value="name
ASC">COM_RSTICKETSPRO_NAME_ORDER_ASC</option>
			<option value="name
DESC">COM_RSTICKETSPRO_NAME_ORDER_DESC</option>
            <option value="username
ASC">COM_RSTICKETSPRO_USERNAME_ORDER_ASC</option>
            <option value="username
DESC">COM_RSTICKETSPRO_USERNAME_ORDER_DESC</option>
			<option value="email
ASC">COM_RSTICKETSPRO_EMAIL_ORDER_ASC</option>
			<option value="email
DESC">COM_RSTICKETSPRO_EMAIL_ORDER_DESC</option>
        </field>

        <field
                name="limit"
                type="limitbox"
                label="JGLOBAL_LIST_LIMIT"
                default="25"
                onchange="this.form.submit();"
        />
    </fields>
</form>models/forms/group.xml000064400000015216151165644020011044
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="general" label="RST_GENERAL">
		<field name="name" type="text"
description="RST_GROUP_DESC" label="RST_GROUP"
required="true" size="64" />
		<field name="export_tickets" default="0"
type="radio" class="btn-group btn-group-yesno"
description="RST_CAN_EXPORT_TICKETS_DESC"
label="RST_CAN_EXPORT_TICKETS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
	<fieldset name="submitting"
label="RST_GROUP_SUBMITTING">
		<field name="add_ticket" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_ADD_TICKET_DESC"
label="RST_CAN_ADD_TICKET">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="add_ticket_customers" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_ADD_TICKET_CUSTOMERS_DESC"
label="RST_CAN_ADD_TICKET_CUSTOMERS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="add_ticket_staff" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_ADD_TICKET_STAFF_DESC"
label="RST_CAN_ADD_TICKET_STAFF">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="replying"
label="RST_GROUP_REPLYING">
		<field name="answer_ticket" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_ANSWER_TICKET_DESC"
label="RST_CAN_ANSWER_TICKET">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update_ticket_replies" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_TICKET_REPLIES_DESC"
label="RST_CAN_UPDATE_TICKET_REPLIES">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update_ticket_replies_customers"
type="radio" class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_TICKET_REPLIES_CUSTOMERS_DESC"
label="RST_CAN_UPDATE_TICKET_REPLIES_CUSTOMERS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update_ticket_replies_staff"
type="radio" class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_TICKET_REPLIES_STAFF_DESC"
label="RST_CAN_UPDATE_TICKET_REPLIES_STAFF">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="delete_ticket_replies" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_DELETE_TICKET_REPLIES_DESC"
label="RST_CAN_DELETE_TICKET_REPLIES">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="delete_ticket_replies_customers"
type="radio" class="btn-group btn-group-yesno"
description="RST_CAN_DELETE_TICKET_REPLIES_CUSTOMERS_DESC"
label="RST_CAN_DELETE_TICKET_REPLIES_CUSTOMERS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="delete_ticket_replies_staff"
type="radio" class="btn-group btn-group-yesno"
description="RST_CAN_DELETE_TICKET_REPLIES_STAFF_DESC"
label="RST_CAN_DELETE_TICKET_REPLIES_STAFF">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="viewing"
label="RST_GROUP_VIEWING">
		<field name="see_unassigned_tickets" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_SEE_UNASSIGNED_TICKETS_DESC"
label="RST_CAN_SEE_UNASSIGNED_TICKETS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="see_other_tickets" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_SEE_OTHER_TICKETS_DESC"
label="RST_CAN_SEE_OTHER_TICKETS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="updating"
label="RST_GROUP_UPDATING">
		<field name="update_ticket" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_TICKET_DESC"
label="RST_CAN_UPDATE_TICKET">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update_ticket_custom_fields"
type="radio" class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_TICKET_CUSTOM_FIELDS_DESC"
label="RST_CAN_UPDATE_TICKET_CUSTOM_FIELDS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="assign_tickets" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_ASSIGN_TICKETS_DESC"
label="RST_CAN_ASSIGN_TICKETS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="change_ticket_status" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_CHANGE_TICKET_STATUS_DESC"
label="RST_CAN_CHANGE_TICKET_STATUS">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="move_ticket" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_MOVE_TICKET_DESC"
label="RST_CAN_MOVE_TICKET">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="delete_ticket" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_DELETE_TICKET_DESC"
label="RST_CAN_DELETE_TICKET">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
	<fieldset name="notes" label="RST_GROUP_NOTES">
		<field name="view_notes" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_VIEW_NOTES_DESC"
label="RST_CAN_VIEW_NOTES">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="add_note" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_ADD_NOTE_DESC"
label="RST_CAN_ADD_NOTE">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update_note" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_NOTE_DESC"
label="RST_CAN_UPDATE_NOTE">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update_note_staff" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_UPDATE_NOTE_STAFF_DESC"
label="RST_CAN_UPDATE_NOTE_STAFF">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="delete_note" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_DELETE_NOTE_DESC"
label="RST_CAN_DELETE_NOTE">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="delete_note_staff" type="radio"
class="btn-group btn-group-yesno"
description="RST_CAN_DELETE_NOTE_STAFF_DESC"
label="RST_CAN_DELETE_NOTE_STAFF">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
</form>models/forms/index.html000064400000000054151165644020011155
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>models/forms/kbarticle.xml000064400000002442151165644020011645
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_KB_ARTICLE_NAME_DESC"
label="RST_KB_ARTICLE_NAME" required="true"
size="64" />
		<field name="category_id" type="kbcategories"
label="RST_KB_ARTICLE_CATEGORY"
description="RST_KB_ARTICLE_CATEGORY_DESC"
show_noparent="true" />
		<field name="text" type="editor"
label="RST_KB_ARTICLE_TEXT"
description="RST_KB_ARTICLE_TEXT_DESC" filter="raw"
buttons="true" />
		<field name="meta_description"
label="RST_KB_ARTICLE_META_DESCRIPTION"
description="RST_KB_ARTICLE_META_DESCRIPTION_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="meta_keywords"
label="RST_KB_ARTICLE_META_KEYWORDS"
description="RST_KB_ARTICLE_META_KEYWORDS_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="private" type="radio"
class="btn-group btn-group-yesno" label="RST_PRIVATE"
description="RST_PRIVATE_DESC" size="1"
default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1" default="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/kbcategory.xml000064400000003220151165644020012032
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_KB_CATEGORY_NAME_DESC"
label="RST_KB_CATEGORY_NAME" required="true"
size="64" />
		<field name="parent_id" type="kbcategories"
label="RST_KB_CATEGORY_PARENT"
description="RST_KB_CATEGORY_PARENT_DESC"
show_noparent="true" />
		<field name="description" type="editor"
label="RST_KB_CATEGORY_DESCRIPTION"
description="RST_KB_CATEGORY_DESCRIPTION_DESC"
filter="raw" buttons="true" />
		<field name="thumb" type="file"
label="RST_KB_CATEGORY_ICON"
description="RST_KB_CATEGORY_ICON_DESC" />
		<field name="delete_thumb" type="radio"
class="btn-group btn-group-yesno"
description="RST_REMOVE_THUMB_DESC"
label="RST_REMOVE_THUMB" default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="meta_description"
label="RST_KB_CATEGORY_META_DESCRIPTION"
description="RST_KB_CATEGORY_META_DESCRIPTION_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="meta_keywords"
label="RST_KB_CATEGORY_META_KEYWORDS"
description="RST_KB_CATEGORY_META_KEYWORDS_DESC"
type="textarea" filter="raw" rows="5"
cols="50" />
		<field name="private" type="radio"
class="btn-group btn-group-yesno" label="RST_PRIVATE"
description="RST_PRIVATE_DESC" size="1"
default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1" default="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/kbconvert.xml000064400000002110151165644020011672
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_KB_ARTICLE_NAME_DESC"
label="RST_KB_ARTICLE_NAME" required="true"
size="64" />
		<field name="category_id" type="kbcategories"
label="RST_KB_CATEGORY_NAME" show_noparent="true"
/>
		<field name="private" type="radio"
class="btn-group btn-group-yesno" label="RST_PRIVATE"
description="RST_PRIVATE_DESC" size="1"
default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="publish_article" type="radio"
class="btn-group btn-group-yesno"
label="RST_PUBLISH_ARTICLE"
description="RST_PUBLISH_ARTICLE_DESC" size="1"
default="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="private" type="radio"
class="btn-group btn-group-yesno"
label="RST_PRIVATE_ARTICLE"
description="RST_PRIVATE_ARTICLE_DESC" size="1"
default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="ticket_id" type="hidden" />
	</fieldset>
</form>models/forms/kbrule.xml000064400000002773151165644020011200
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_KB_RULE_NAME_DESC"
label="RST_KB_RULE_NAME" required="true"
size="64" />
		<field name="conditions" type="kbconditions"
label="RST_KB_RULE_CONDITION" size="64" />
		<field name="category_id" type="kbcategories"
label="RST_KB_PUBLISH_TO_CATEGORY"
description="RST_KB_PUBLISH_TO_CATEGORY_DESC"
show_noparent="true" />
		<field name="publish_article" type="radio"
class="btn-group btn-group-yesno"
label="RST_PUBLISH_ARTICLE"
description="RST_PUBLISH_ARTICLE_DESC" size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="private" type="radio"
class="btn-group btn-group-yesno"
label="RST_PRIVATE_ARTICLE"
description="RST_PRIVATE_ARTICLE_DESC" size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="select_type" type="dummy"
hidden="true" />
		<field name="select_custom_field_value"
type="dummy" hidden="true" />
		<field name="select_condition" type="dummy"
hidden="true" />
		<field name="select_value" type="dummy"
hidden="true" />
		<field name="select_connector" type="dummy"
hidden="true" />

		<field name="id" type="hidden" />
		<field name="from_ticket_id" type="hidden" />
	</fieldset>
</form>models/forms/note.xml000064400000000506151165644020010651
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="text" label="RST_TICKET_NOTE"
required="true" description="RST_TICKET_NOTE_DESC"
type="textarea" filter="raw" rows="12"
cols="50" />
		<field name="id" type="hidden" />
		<field name="ticket_id" type="hidden" />
	</fieldset>
</form>models/forms/predefinedsearches.xml000064400000001607151165644020013532
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_SEARCH_NAME_DESC"
label="RST_SEARCH_NAME" required="true"
size="64" />
		<field name="default" type="radio"
class="btn-group btn-group-yesno"
description="RST_DEFAULT_SEARCH_DESC"
label="RST_DEFAULT_SEARCH" default="0"
size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="update" type="list"
description="RST_UPDATE_SEARCH_DESC"
label="RST_UPDATE_SEARCH" default="0"
size="1">
			<option value="1">RST_UPDATE_SEARCH_OK</option>
			<option value="0">JNO</option>
		</field>
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/priority.xml000064400000001265151165644020011570
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_PRIORITY_DESC" label="RST_PRIORITY"
required="true" size="64" />
		<field name="bg_color" type="color"
description="RST_PRIORITY_BACKGROUND_COLOR_DESC"
label="RST_PRIORITY_BACKGROUND_COLOR" />
		<field name="fg_color" type="color"
description="RST_PRIORITY_FOREGROUND_COLOR_DESC"
label="RST_PRIORITY_FOREGROUND_COLOR" />
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/search.xml000064400000003337151165644020011156
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="filter_search" type="text"
description="RST_SEARCH_TEXT_DESC"
label="RST_SEARCH_TEXT" size="64" />
		<field name="customer" type="text"
description="RST_SEARCH_CUSTOMER_DESC"
label="RST_SEARCH_CUSTOMER" size="64" />
		<field name="staff" type="text"
description="RST_SEARCH_STAFF_DESC"
label="RST_SEARCH_STAFF" size="64" />
		<field name="department_id" type="departments"
default="0" published="true"
label="RST_SEARCH_DEPARTMENTS"
description="RST_SEARCH_DEPARTMENTS_DESC"
multiple="multiple" />
		<field name="priority_id" type="priorities"
published="true" label="RST_SEARCH_PRIORITIES"
description="RST_SEARCH_PRIORITIES_DESC"
multiple="multiple" />
		<field name="status_id" type="statuses"
published="true" label="RST_SEARCH_STATUSES"
description="RST_SEARCH_STATUSES_DESC"
multiple="multiple" />
		<field name="filter_order" type="list"
label="JFIELD_ORDERING_LABEL"
description="JFIELD_ORDERING_DESC">
			<option value="date">RST_TICKET_DATE</option>
			<option
value="last_reply">RST_TICKET_LAST_REPLY</option>
			<option value="code">RST_TICKET_CODE</option>
			<option
value="subject">RST_TICKET_SUBJECT</option>
			<option value="status">RST_TICKET_STATUS</option>
			<option
value="priority">RST_TICKET_PRIORITY</option>
		</field>
		<field name="filter_order_Dir" type="list"
label="">
			<option
value="ASC">JGLOBAL_ORDER_ASCENDING</option>
			<option
value="DESC">JGLOBAL_ORDER_DESCENDING</option>
		</field>
		<field name="flagged" type="radio"
class="btn-group btn-group-yesno"
label="RST_SEARCH_FLAGGED" size="1"
default="0">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
	</fieldset>
</form>models/forms/signature.xml000064400000000401151165644020011677
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="signature" type="editor"
required="true" label="RST_SIGNATURE"
description="RST_YOUR_SIGNATURE_DESC" filter="html"
buttons="true" width="70%" />
	</fieldset>
</form>models/forms/staff.xml000064400000003150151165644020011005
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="user_id" type="user"
label="JGLOBAL_USERNAME" labelclass="control-label"
required="true" />
		<field name="group_id" type="groups"
label="RST_STAFF_GROUP"
description="RST_STAFF_GROUP_DESC" />
		<field name="department_id" type="departments"
default="0" label="RST_STAFF_DEPARTMENTS"
description="RST_STAFF_DEPARTMENTS_DESC"
multiple="multiple" required="true" />
		<field name="exclude_auto_assign" type="radio"
default="0" class="btn-group btn-group-yesno"
description="RST_STAFF_EXCLUDE_AUTO_ASSIGN_DESC"
label="RST_STAFF_EXCLUDE_AUTO_ASSIGN">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="can_delete_time_history" type="radio"
default="0" class="btn-group btn-group-yesno"
description="RST_STAFF_CAN_DELETE_TIME_HISTORY_DESC"
label="RST_STAFF_CAN_DELETE_TIME_HISTORY">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="can_delete_own_time_history"
showon="can_delete_time_history:0" type="radio"
default="0" class="btn-group btn-group-yesno"
description="RST_STAFF_CAN_DELETE_OWN_TIME_HISTORY_DESC"
label="RST_STAFF_CAN_DELETE_OWN_TIME_HISTORY">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="priority_id" type="priorities"
label="RST_STAFF_PRIORITY"
description="RST_STAFF_PRIORITY_DESC" all="true" />
		<field name="signature" type="editor"
label="RST_SIGNATURE" description="RST_SIGNATURE_DESC"
filter="raw" buttons="true" />
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/status.xml000064400000000657151165644020011236
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="name" type="text"
description="RST_STATUS_DESC" label="RST_STATUS"
required="true" size="64" />
		<field name="published" type="radio"
class="btn-group btn-group-yesno" label="JPUBLISHED"
size="1">
			<option value="1">JYES</option>
			<option value="0">JNO</option>
		</field>
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/submit.xml000064400000004275151165644020011216
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="submit_type" type="radio"
class="btn-group btn-group-yesno" default="1"
description="" label="">
			<option value="1">RST_SHORT_NEW_USER</option>
			<option
value="2">RST_SHORT_EXISTING_USER</option>
		</field>
		<field name="email" label="RST_YOUR_EMAIL"
description="RST_YOUR_EMAIL_DESC" type="text"
size="40" showon="submit_type:1" />
		<field name="alternative_email"
label="RST_ALTERNATIVE_EMAIL"
description="RST_ALTERNATIVE_EMAIL_DESC" type="text"
size="40" showon="submit_type:1" />
		<field name="name" label="RST_YOUR_NAME"
description="RST_YOUR_NAME_DESC" type="text"
size="40" showon="submit_type:1" />
		<field name="password" label="RST_YOUR_PASSWORD"
description="RST_YOUR_PASSWORD_DESC" type="password"
showon="submit_type:1" />
		<field name="customer_id"
label="RST_EXISTING_CUSTOMER"
description="RST_EXISTING_CUSTOMER_DESC"
type="rscustomer" size="40"
showon="submit_type:2" />
		<field name="department_id" type="departments"
default="0" please="true" published="true"
onchange="RSTicketsPro.changeDepartment();"
label="RST_TICKET_DEPARTMENT"
description="RST_TICKET_DEPARTMENT_DESC"
required="true" />
		<field name="subject" label="RST_TICKET_SUBJECT"
description="RST_TICKET_SUBJECT_DESC" type="subject"
required="true" />
		<field name="message" type="rseditor"
default="" rows="12" cols="80"
label="RST_TICKET_MESSAGE"
description="RST_TICKET_MESSAGE_DESC" required="true"
filter="JComponentHelper::filterText" width="70%"
/>
		<field name="priority_id" type="priorities"
default="0" please="true" published="true"
label="RST_TICKET_PRIORITY"
description="RST_TICKET_PRIORITY_DESC" required="true"
/>
		<field name="captcha" type="rscaptcha"
label="RST_TICKET_CAPTCHA"
description="RST_TICKET_CAPTCHA_DESC"
refresh_label="RST_REFRESH_CAPTCHA"
refresh_description="RST_REFRESH_CAPTCHA_DESC" />
		<field name="consent" type="checkboxes"
label="" description="">
			<option
value="1">RST_TICKET_CONSENT_SUBMIT</option>
		</field>
		<field name="files" type="rsuploads"
onclick="RSTicketsPro.addSubmitFile();"
label="RST_TICKET_ATTACHMENTS"
description="RST_TICKET_ATTACHMENTS_DESC" />
	</fieldset>
</form>models/forms/ticket.xml000064400000003717151165644020011176
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<field name="subject" label="RST_TICKET_SUBJECT"
type="text" size="40" />
	<field name="department_id" type="departments"
default="0" label="RST_TICKET_DEPARTMENT"
published="true"
onchange="RSTicketsPro.disableStaff();" />
	<field name="date" type="rsticketsprohtml"
label="RST_TICKET_DATE" escape="true" />
	<field name="code" type="rsticketsprohtml"
label="RST_TICKET_CODE" escape="true" />
	<field name="status_id" type="statuses"
default="0" label="RST_TICKET_STATUS"
published="true" />
	<field name="priority_id" type="priorities"
default="0" label="RST_TICKET_PRIORITY"
published="true" />
	<field name="customer_id" type="rscustomer"
label="RST_TICKET_CUSTOMER" />
	<field name="alternative_email"
label="RST_ALTERNATIVE_EMAIL" type="text"
size="40" />
	<field name="staff_id" type="staff"
unassigned="true" label="RST_TICKET_STAFF" />
	<field name="time_spent" label="RST_TIME_SPENT"
type="text" size="40" />
	<field name="search" label="RST_KNOWLEDGEBASE"
type="typeahead" class="input-xxlarge"
size="40" />
	<field name="message" type="rseditor"
default="" rows="12" cols="80"
label="RST_TICKET_MESSAGE"
description="RST_TICKET_MESSAGE_DESC" required="true"
filter="JComponentHelper::filterText"
class="input-xxlarge" />
	<field name="use_signature" type="radio"
default="1" label="RST_ATTACH_SIGNATURE"
class="btn-group btn-group-yesno">
		<option value="1">JYES</option>
		<option value="0">JNO</option>
	</field>
	<field name="reply_as_customer" type="radio"
default="0" label="RST_TICKET_REPLY_AS_CUSTOMER"
class="btn-group btn-group-yesno">
		<option value="1">JYES</option>
		<option value="0">JNO</option>
	</field>
	<field name="consent" type="checkboxes"
label="" description="">
		<option
value="1">RST_TICKET_CONSENT_SUBMIT</option>
	</field>
	<field name="files" type="rsuploads"
onclick="RSTicketsPro.addReplyFile();"
label="RST_TICKET_ATTACHMENTS"
description="RST_TICKET_ATTACHMENTS_DESC" />
</form>models/forms/ticketmessage.xml000064400000000535151165644020012536
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="params">
		<field name="message" type="rseditor"
default="" rows="12" cols="80"
label="RST_TICKET_MESSAGE"
description="RST_TICKET_MESSAGE_DESC" required="true"
filter="JComponentHelper::filterText"
class="input-xxlarge" />
		<field name="id" type="hidden" />
	</fieldset>
</form>models/forms/tickets.xml000064400000002351151165644020011352
0ustar00<?xml version="1.0" encoding="utf-8"?>
<form>
	<fieldset name="bulk">
		<field name="bulk_department_id"
type="departments" default="0"
label="RST_TICKET_DEPARTMENT"
onchange="RSTicketsPro.disableStaff(this,
document.getElementById('bulk_staff_id'));">
			<option
value="0">RST_DO_NOT_CHANGE_DEPARTMENT</option>
		</field>
		<field name="bulk_staff_id" type="staff"
default="-1" unassigned="true"
label="RST_TICKET_STAFF">
			<option
value="-1">RST_DO_NOT_CHANGE_ASSIGNMENT</option>
		</field>
		<field name="bulk_priority_id" type="priorities"
default="0" label="RST_TICKET_PRIORITY"
published="true">
			<option
value="0">RST_DO_NOT_CHANGE_PRIORITY</option>
		</field>
		<field name="bulk_status_id" type="statuses"
default="0" label="RST_TICKET_STATUS"
published="true">
			<option
value="0">RST_DO_NOT_CHANGE_STATUS</option>
		</field>
		<field name="bulk_notify" type="list"
default="0">
			<option value="0">RST_DO_NOT_NOTIFY</option>
			<option value="1">RST_NOTIFY_SELECTED</option>
		</field>
		<field name="bulk_delete" type="list"
default="0"
onchange="RSTicketsPro.disableBulk(this.value);">
			<option value="0">RST_DO_NOT_DELETE</option>
			<option value="1">RST_DELETE_SELECTED</option>
		</field>
	</fieldset>
</form>models/group.php000064400000002401151165644020007675
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelGroup extends JModelAdmin
{
	public function getTable($type = 'Groups', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.group',
'group', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.group.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}
	
	public function getRSTabs()
	{
		return new RsticketsproAdapterTabs('com-rsticketspro-group');
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('group.delete',
'com_rsticketspro');
	}
}models/groups.php000064400000003023151165644020010061 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelGroups extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'name', 'id'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		
		$query->select('*')
			->from('#__rsticketspro_groups');

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$query->where($db->qn('name') . ' LIKE ' .
$db->q('%'.str_replace(' ', '%',
$db->escape($search, true)).'%', false));
			}
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'name')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'name', $direction
= 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/kbarticle.php000064400000004350151165644020010506 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbarticle extends JModelAdmin
{
	public function getTable($type = 'Kbcontent', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.kbarticle',
'kbarticle', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.kbarticle.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}
	
	public function getTicket()
	{
		$item = $this->getItem();
		if ($item->from_ticket_id)
		{
			$table = JTable::getInstance('Tickets',
'RsticketsproTable');
			if ($table->load($item->from_ticket_id))
			{
				return $table;
			}
			else
			{
				return false;
			}
		}

		return false;
	}
	
	protected function getReorderConditions($table)
	{
		return array(
			'category_id = '.(int) $table->category_id
		);
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('kbarticle.delete',
'com_rsticketspro');
	}

	protected function canEditState($record)
	{
		return
JFactory::getUser()->authorise('kbarticle.edit.state',
'com_rsticketspro');
	}
}models/kbarticles.php000064400000007543151165644020010700
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbarticles extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'a.name', 'c.name', 'a.hits',
'a.private', 'a.published', 'a.ordering',
'a.id', 'state', 'category_id',
'private'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search 	 = $this->getState('filter.search');
		$state 		 = $this->getState('filter.state');
		$private 	 = $this->getState('filter.private');
		$category_id = $this->getState('filter.category_id');
		
		$query->select($db->qn('a.id'))
			  ->select($db->qn('a.name'))
			  ->select($db->qn('a.category_id'))
			  ->select($db->qn('a.hits'))
			  ->select($db->qn('a.private'))
			  ->select($db->qn('a.published'))
			  ->select($db->qn('a.ordering'))
			  ->select($db->qn('c.name',
'category_name'))
			  ->from($db->qn('#__rsticketspro_kb_content',
'a'));
		
		// join categories
		$query->join('left',
$db->qn('#__rsticketspro_kb_categories', 'c') .
' ON (' . $db->qn('a.category_id') . '=' .
$db->qn('c.id') . ')');
		
		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('a.id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$search = $db->q('%'.str_replace(' ',
'%', $db->escape($search, true)).'%', false);

				$query->where('(' . $db->qn('a.name') .
' LIKE ' . $search . ') OR (' .
$db->qn('a.text') . ' LIKE ' . $search .
')');
			}
		}

		// searching for a category?
		if ($category_id !== '')
		{
			// let's search for all children
			if ($category_id == 0)
			{
				$categories = array($category_id);
			}
			else
			{
				$categories = $this->getAllChildren($category_id);
			}
			
			if (!is_null($category_id))
			{
				$query->where($db->qn('a.category_id').' IN
('.implode(',', $categories).')');
			}
		}
		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('a.published') . '=' .
$db->q($state));
		}

		if ($private != '')
		{
			$query->where($db->qn('a.private') . '=' .
$db->q($private));
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'a.ordering')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		$query->order($db->qn('a.category_id'));
		
		return $query;
	}
	
	protected function populateState($ordering = 'a.ordering',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));
		$this->setState('filter.private',
$this->getUserStateFromRequest($this->context.'.filter.private',
'filter_private'));
		$this->setState('filter.category_id',
$this->getUserStateFromRequest($this->context.'.filter.category_id',
'filter_category_id'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
	
	protected function getAllChildren($parent_id)
	{
		$db 	= $this->getDbo();
		$query 	= $db->getQuery(true);
		$children = array($parent_id);
		
		$query->select($db->qn('id'))
			  ->from('#__rsticketspro_kb_categories')
			  ->where($db->qn('parent_id') . '=' .
$db->q($parent_id));
		$db->setQuery($query);
		if ($ids = $db->loadColumn())
		{
			foreach ($ids as $id)
			{
				$children = array_merge($children, $this->getAllChildren($id));
			}
		}
		
		return $children;
	}
}models/kbcategories.php000064400000006351151165644020011213
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbcategories extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'name', 'private', 'published',
'ordering', 'id', 'state'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search 	= $this->getState('filter.search');
		$state 		= $this->getState('filter.state');
		$private 	= $this->getState('filter.private');

		$query->select('*')
			  ->from($db->qn('#__rsticketspro_kb_categories'));
		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$search = $db->q('%'.str_replace(' ',
'%', $db->escape($search, true)).'%', false);

				$query->where('(' . $db->qn('name') . '
LIKE ' . $search . ') OR (' .
$db->qn('description') . ' LIKE ' . $search .
')');
			}
		}

		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('published') . '=' .
$db->q($state));
		}

		if ($private != '')
		{
			$query->where($db->qn('private') . '=' .
$db->q($private));
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'ordering')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	public function getItems()
	{
		$listOrdering 	= $this->getState('list.ordering',
'ordering');
		$search 		= $this->getState('filter.search');
		if ($listOrdering == 'ordering' || $search != '')
		{
			// Load the list items.
			$query = $this->_getListQuery();
			$items = $this->_getList($query, 0, 0);
			$children = array();
			
			// first pass - collect children
			if ($items)
			{
				foreach ($items as $item)
				{
					$parent	= $item->parent_id;
					$item->parent = $parent;
					$item->title = '';
					$list = isset($children[$parent]) ? $children[$parent] : array();
					array_push($list, $item);
					$children[$parent] = $list;
				}
			}

			// second pass - get an indent list of the items
			$list = JHtml::_('menu.treerecurse', 0, '', array(),
$children, 9999, 0, 0);

			if ($this->getState('list.limit'))
			{
				$list = array_slice($list, $this->getStart(),
$this->getState('list.limit'));
			}
			
			return $list;
		}
		
		return parent::getItems();
	}
	
	protected function populateState($ordering = 'ordering',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));
		$this->setState('filter.private',
$this->getUserStateFromRequest($this->context.'.filter.private',
'filter_private'));

		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/kbcategory.php000064400000013163151165644020010702
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbcategory extends JModelAdmin
{
	public function getTable($type = 'Kbcategories', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.kbcategory',
'kbcategory', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.kbcategory.data',
array());
		
		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}
	
	protected function getReorderConditions($table)
	{
		return array(
			'parent_id = '.(int) $table->parent_id
		);
	}
	
	public function save($data)
	{
		$files 		=
JFactory::getApplication()->input->files->get('jform',
null, 'raw');
		$doUpload 	= false;
		
		// before attempting to process any further, let's verify if the
upload worked
		if (isset($files['thumb']))
		{
			if ($files['thumb']['tmp_name'] &&
$files['thumb']['error'] == UPLOAD_ERR_OK)
			{
				// uploaded successfully
				// let's see if the extension is allowed...
				$ext =
strtolower(JFile::getExt($files['thumb']['name']));
				$allowed = array('jpg', 'jpeg', 'gif',
'png');
				if (!in_array($ext, $allowed))
				{
					$this->setError(JText::sprintf('RST_KB_CATEGORY_ICON_UPLOAD_EXTENSION_ERROR',
implode(', ', $allowed)));
					return false;
				}
				
				$doUpload = true;
			}
			elseif ($files['thumb']['error'] !=
UPLOAD_ERR_NO_FILE)
			{
				// error during upload!
				switch ($files['thumb']['error'])
				{
					case UPLOAD_ERR_INI_SIZE:
						$this->setError('The uploaded file exceeds the
upload_max_filesize directive in php.ini.');
					break;
					
					case UPLOAD_ERR_FORM_SIZE:
						$this->setError('The uploaded file exceeds the MAX_FILE_SIZE
directive that was specified in the HTML form.');
					break;
					
					case UPLOAD_ERR_PARTIAL:
						$this->setError('The uploaded file was only partially
uploaded.');
					break;
					
					case UPLOAD_ERR_NO_TMP_DIR:
						$this->setError('Missing a temporary folder.');
					break;
					
					case UPLOAD_ERR_CANT_WRITE:
						$this->setError('Failed to write file to disk.');
					break;
					
					case UPLOAD_ERR_EXTENSION:
						$this->setError('A PHP extension stopped the file
upload.');
					break;
				}
				
				return false;
			}
		}
		
		// get the current thumb's name & path
		if (!empty($data['id']))
		{
			$table = $this->getTable();
			$table->load($data['id']);
		}
		
		// remove the current thumb?
		if (!empty($data['delete_thumb']))
		{
			$data['thumb'] = '';
			
			if (!empty($data['id']))
			{
				$table->deleteThumb();
			}
		}
		
		$saved = parent::save($data);
		
		// upload the thumb here
		if ($saved && $doUpload)
		{
			$name = md5(uniqid($files['thumb']['name']));
			$id	  = $this->getState($this->getName().'.id');
			
			if (!JFile::upload($files['thumb']['tmp_name'],
RST_CATEGORY_THUMB_FOLDER.'/'.$name.'.'.$ext, false,
true))
			{
				$this->setError(JText::sprintf('RST_KB_CATEGORY_ICON_UPLOAD_ERROR_FOLDER',
RST_CATEGORY_THUMB_FOLDER));
				return false;
			}
			
			// remove the old thumbnail before saving a new one
			if (!empty($data['id']))
			{
				$table->deleteThumb();
			}
			
			// build thumbnail
			if (function_exists('imagecreatefromstring') &&
function_exists('imagescale'))
			{
				$file		= RST_CATEGORY_THUMB_FOLDER . '/' . $name .
'.' . $ext;
				$newWidth  	= 64;
				$quality   	= 90;
				$image  	= @imagecreatefromstring(file_get_contents($file));

				if (is_resource($image))
				{
					// If we're downsizing, IMG_BICUBIC produces better results
					if ($newWidth < imagesx($image))
					{
						$image = imagescale($image, $newWidth, -1, IMG_BICUBIC);
					}
					else
					{
						$image = imagescale($image, $newWidth);
					}

					if (is_resource($image))
					{
						imagejpeg($image, RST_CATEGORY_THUMB_FOLDER . '/small/' .
$name . '.jpg', $quality);

						// update the database entry
						$db 	= $this->getDbo();
						$query 	= $db->getQuery(true);
						$query->update('#__rsticketspro_kb_categories')
							->set($db->qn('thumb') . '=' .
$db->q($name . '.jpg'))
							->where($db->qn('id') . '=' .
$db->q($id));
						$db->setQuery($query)->execute();
					}

					unset($image);
				}
			}
		}
		
		return $saved;
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('kbcategory.delete',
'com_rsticketspro');
	}

	protected function canEditState($record)
	{
		return
JFactory::getUser()->authorise('kbcategory.edit.state',
'com_rsticketspro');
	}
}models/kbconvert.php000064400000003137151165644020010545 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbconvert extends JModelAdmin
{
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.kbconvert',
'kbconvert', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		$app 			= JFactory::getApplication();
		$modelTicket 	= $this->getInstance('Ticket',
'RsticketsproModel');
		$ticketId		= $app->input->getInt('ticket_id');
		$ticket			= $modelTicket->getTicket($ticketId);
		$data = array(
			'name'		=> $ticket->subject,
			'ticket_id' => $ticketId
		);
		
		return $data;
	}
	
	public function save($data)
	{
		$ticketId	 	= $data['ticket_id'];
		$modelTicket 	= $this->getInstance('Ticket',
'RsticketsproModel');
		$ticket		 	= $modelTicket->getTicket($ticketId);
		$ticketMessages = $modelTicket->getTicketMessages($ticketId, true);
		
		$params = (object) array(
			'name' 				=> $data['name'],
			'category_id' 		=> $data['category_id'],
			'publish_article' 	=> $data['publish_article'],
			'private' 			=> $data['private']
		);
		
		require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/ticket.php';

		return RSTicketsProTicketHelper::convert($ticket, $ticketMessages,
$params);
	}
}models/kbrule.php000064400000003561151165644020010035 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbrule extends JModelAdmin
{
	public function getTable($type = 'Kbrules', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.kbrule',
'kbrule', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.kbrule.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}
		else
		{
			// Emulate conditions so we can keep editing if we run into an error
			$table = $this->getTable();
			if ($table->bind($data))
			{
				$data['conditions'] = $table->conditions;
			}
		}

		return $data;
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('kbrule.delete',
'com_rsticketspro');
	}

	protected function canEditState($record)
	{
		return JFactory::getUser()->authorise('kbrule.edit.state',
'com_rsticketspro');
	}
}models/kbrules.php000064400000010576151165644020010224 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelKbrules extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'r.name', 'c.name', 'r.published',
'r.id', 'state'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		$state 	= $this->getState('filter.state');
		
		$query->select($db->qn('r.id'))
			  ->select($db->qn('r.category_id'))
			  ->select($db->qn('r.name'))
			  ->select($db->qn('r.published'))
			  ->select($db->qn('c.name',
'category_name'))
			  ->from($db->qn('#__rsticketspro_kb_rules',
'r'));
		
		// join categories
		$query->join('left',
$db->qn('#__rsticketspro_kb_categories', 'c').'
ON
('.$db->qn('r.category_id').'='.$db->qn('c.id').')');

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('r.id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$query->where($db->qn('r.name') . ' LIKE ' .
$db->q('%'.str_replace(' ', '%',
$db->escape($search, true)).'%', false));
			}
		}

		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('r.published') . '=' .
$db->q($state));
		}
		// order by
		$query->order($db->qn($this->getState('list.ordering',
'r.name')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'r.name',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
	
	public function getDepartments()
	{
		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->qn('id'))
			->select($db->qn('name'))
			->from($db->qn('#__rsticketspro_departments'))
			->order($db->qn('ordering') . ' asc');
		if ($results = $this->_getList($query))
		{
			foreach ($results as $result)
			{
				$result->name = JText::_($result->name);
			}
		}
		
		return $results;
	}
	
	public function getPriorities()
	{
		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->qn('id'))
			->select($db->qn('name'))
			->from($db->qn('#__rsticketspro_priorities'))
			->order($db->qn('ordering') . ' asc');

		if ($results = $this->_getList($query))
		{
			foreach ($results as $result)
			{
				$result->name = JText::_($result->name);
			}
		}
		
		return $results;
	}
	
	public function getStatuses()
	{
		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select($db->qn('id'))
			->select($db->qn('name'))
			->from($db->qn('#__rsticketspro_statuses'))
			->order($db->qn('ordering') . ' asc');

		if ($results = $this->_getList($query))
		{
			foreach ($results as $result)
			{
				$result->name = JText::_($result->name);
			}
		}
		
		return $results;
	}
	
	public function getCustomFields()
	{
		$db = JFactory::getDbo();
		$query = $db->getQuery(true)
			->select('*')
			->from($db->qn('#__rsticketspro_custom_fields'))
			->order($db->qn('department_id') . ' asc')
			->order($db->qn('ordering') . ' asc');

		return $this->_getList($query);
	}
	
	public function getCustomFieldValues()
	{
		$return = array();
		$db 	= JFactory::getDbo();
		$cfid 	=
JFactory::getApplication()->input->getInt('cfid');

		$query = $db->getQuery(true)
			->select($db->qn('values'))
			->from($db->qn('#__rsticketspro_custom_fields'))
			->where($db->qn('id') . ' = ' .
$db->q($cfid));

		if ($values = $db->setQuery($query)->loadResult())
		{
			$values = str_replace("\r\n", "\n", $values);
			$values = explode("\n", $values);
			foreach ($values as $value)
			{
				$tmp = new stdClass();
				$tmp->id = $tmp->name = $value;
				
				$return[] = $tmp;
			}
		}
		
		return $return;
	}
}models/priorities.php000064400000003542151165644020010741
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelPriorities extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'name', 'published', 'ordering',
'id', 'state'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		$state 	= $this->getState('filter.state');
		
		$query->select('*')
			->from('#__rsticketspro_priorities');

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$query->where($db->qn('name') . ' LIKE ' .
$db->q('%'.str_replace(' ', '%',
$db->escape($search, true)).'%', false));
			}
		}

		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('published') . '=' .
$db->q($state));
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'ordering')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'ordering',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));

		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/priority.php000064400000003450151165644020010427 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelPriority extends JModelAdmin
{
	public function getTable($type = 'Priorities', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.priority',
'priority', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.priority.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('priority.delete',
'com_rsticketspro');
	}

	protected function canEditState($record)
	{
		return JFactory::getUser()->authorise('priority.edit.state',
'com_rsticketspro');
	}
}models/reports.php000064400000077304151165644020010255 0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');


class RsticketsproModelReports extends JModelAdmin
{
	protected $_db;
	protected $_departments;
	protected $_department_names;
	protected $_staff_names;
	
	public $min = 0;
	public $avg = 0;
	public $max = 0;
	public $count = 0;
	public $total = 0;
	public $viewin = '';
	
	public function __construct() {
		parent::__construct();
		
		// large databases need lots of memory
		if ($limit = ini_get('memory_limit')) {
			if (substr($limit, -1) == 'M') {
				if ((int) $limit < 192) {
					ini_set('memory_limit', '192M');
				}
			}
		}
		
		$this->_db = JFactory::getDbo();
		
		$this->_db->setQuery("SET SQL_BIG_SELECTS=1");
		$this->_db->execute();
		
		JFactory::getLanguage()->load('plg_system_rsticketsproreports',
JPATH_ADMINISTRATOR);
		
		$this->_getDepartments();
		$this->_getStaff();
	}
	
	protected function _getDepartments() {
		$this->_db->setQuery('SELECT * FROM
'.$this->_db->qn('#__rsticketspro_departments').'
ORDER BY '.$this->_db->qn('ordering').' 
ASC');
		$this->_departments = $this->_db->loadObjectList();
		
		$this->_department_names = array();
		foreach ($this->_departments as $department)
			$this->_department_names[$department->id] =
JText::_($department->name);
	}
	
	protected function _getStaff() {
		$what = RSTicketsProHelper::getConfig('show_user_info');
		
		$this->_db->setQuery('SELECT
'.$this->_db->qn('s.user_id').',
'.$this->_db->qn('u.'.$what).' FROM
'.$this->_db->qn('#__rsticketspro_staff','s').'
LEFT JOIN
'.$this->_db->qn('#__users','u').' ON
'.$this->_db->qn('s.user_id').' =
'.$this->_db->qn('u.id').'');
		$staff_names = $this->_db->loadObjectList();
		
		foreach ($staff_names as $staff)
			$this->_staff_names[$staff->user_id] = $staff->{$what};
		
		$this->_staff_names[0] = JText::_('RST_UNASSIGNED');
	}
	
	
	public function getCountDepartments() {
		return count($this->_departments);
	}
	
	public function getCountStaff() {
		return count($this->_staff_names);
	}
	
	public function getDepartments() {
		return $this->_departments;
	}
	
	public function getStaff() {
		$what = RSTicketsProHelper::getConfig('show_user_info');
		$this->_db->setQuery('SELECT
'.$this->_db->qn('s').'.*,
'.$this->_db->qn('u.'.$what,'thealias').'
FROM
'.$this->_db->qn('#__rsticketspro_staff','s').'
LEFT JOIN
'.$this->_db->qn('#__users','u').' ON
'.$this->_db->qn('u.id').' =
'.$this->_db->qn('s.user_id').' ');
		$staff = $this->_db->loadObjectList();
		
		$unassigned = new stdClass();
		$unassigned->thealias = $unassigned->username =
$unassigned->name = $unassigned->email =
JText::_('RST_UNASSIGNED');
		$unassigned->user_id = '00'; // say hurray to Joomla!
changing how everything works for the millionth time!
		$staff[] = $unassigned;
		
		return $staff;
	}
	
	public function getPriority() {
		$this->_db->setQuery('SELECT * FROM
'.$this->_db->qn('#__rsticketspro_priorities').'
ORDER BY '.$this->_db->qn('ordering').'
ASC');
		return $this->_db->loadObjectList();
	}
	
	public function getReportData() {
		$input		= JFactory::getApplication()->input;
		$db			= JFactory::getDbo();
		
		$from		= $input->getString('from','');
		$to			= $input->getString('to','');
		$report		= $input->getString('report',''); 
		$filter 	= array();
		$where 		= '';
		$return 	= array();
		
		// Unit
		$unit = $input->getString('unit','');
		
		switch ($unit) {
			default:
			case 'day':
				$format = 'Y-m-d';
				$step 	= 86400;
			break;
			
			case 'month':
				$format = 'Y-m';
				$step 	= 86400*30;
			break;
			
			case 'year':
				$format = 'Y';
				$step 	= 86400*30*12;
			break;
			
			case 'quarter':
				$format = 'Y-m';
			break;
		}
		
		// From and To
		if ($from || $to) {
			$startDate = JFactory::getDate($from)->toSql();
			$stopDate  = JFactory::getDate($to)->toSql();
			
			if ($from && $to) {
				$filter['date'] = ' AND
('.$this->_db->qn('date').' >
'.$this->_db->q($startDate).' AND
'.$this->_db->qn('date').' <
'.$this->_db->q($stopDate).')';
				$where .= $filter['date'];
			} elseif ($from) {
				$filter['date'] = ' AND
'.$this->_db->qn('date').' >
'.$this->_db->q($startDate).'';
				$where .= $filter['date'];
			} elseif ($to) {
				$filter['date'] = ' AND
'.$this->_db->qn('date').' <
'.$this->_db->q($stopDate).'';
				$where .= $filter['date'];
			}
		}

		$departments =
$input->get('departments',array(),'array');
		$departments = array_map('intval', $departments);
		if (!empty($departments)) {
			$filter['department_id'] = ' AND
'.$this->_db->qn('department_id').' IN
('.implode(',', $departments).')';
			$where .= $filter['department_id'];
		}
		
		$staff = $input->get('staff',array(),'array');
		$staff = array_map('intval', $staff);
		if (!empty($staff)) {
			$filter['staff_id'] = ' AND
'.$this->_db->qn('staff_id').' IN
('.implode(',', $staff).')';
			$where .= $filter['staff_id'];
		}
		
		$priority =
$input->get('priority',array(),'array');
		$priority = array_map('intval', $priority);
		if (!empty($priority)) {
			$filter['priority_id'] = ' AND
'.$this->_db->qn('priority_id').' IN
('.implode(',', $priority).')';
			$where .= $filter['priority_id'];
		}
		
		$user_id = $input->getInt('user_id',0);
		if (!empty($user_id)) {
			$filter['customer_id'] = ' AND
'.$this->_db->qn('customer_id').' = '.(int)
$user_id;
			$where .= $filter['customer_id'];
		}
		
		// Fill the graph with dates
		if (!$from) {
			$query = $db->getQuery(true)
				->select('MAX('.$db->qn('date').')')
				->from($db->qn('#__rsticketspro_tickets'))
				->where('1 '.$where);
			$from = $db->setQuery($query)->loadResult();
		}
		
		if (!$to) {
			$query = $db->getQuery(true)
				->select('MIN('.$db->qn('date').')')
				->from($db->qn('#__rsticketspro_tickets'))
				->where('1 '.$where);
			$to = $db->setQuery($query)->loadResult();
		}
		
		if ($unit != 'quarter') {
			$startDate = JFactory::getDate($from)->toUnix();
			$stopDate  = JFactory::getDate($to)->toUnix();
			
			for ($date = $startDate; $date < $stopDate; $date = $date + $step) {
				if ($unit == 'quarter') {
					$format =
$this->getQuarter(JFactory::getDate($date)->format('m'));
					echo JFactory::getDate($date)->format('Y-m-d').'
=> '.$format.'<br />';
				}
				
				$return['units'][JFactory::getDate($date)->format($format)]
= JFactory::getDate($date)->format($format);
			}
		} else {
			$startDate =
JFactory::getDate($from)->format($this->getQuarter(JFactory::getDate($from)->format('m')));
			$stopDate =
JFactory::getDate($to)->format($this->getQuarter(JFactory::getDate($to)->format('m')));
			
			list($startYear, $startQuarter) = explode(' Q', $startDate);
			list($stopYear, $stopQuarter) = explode(' Q', $stopDate);
			
			for ($year = $startYear; $year <= $stopYear; $year++) {
				for ($quarter = 1; $quarter <= 4; $quarter++) {
					if (($year == $startYear && $quarter >= $startQuarter) ||
($year > $startYear && $year < $stopYear) || ($year ==
$stopYear && $quarter <= $stopQuarter)) {
						$return['units']["$year Q$quarter"] = "$year
Q$quarter";
					}
				}
			}
		}
		
		// ordering
		$orderby = ' ORDER BY
'.$this->_db->qn('date').' ASC';
		
		$viewby = $this->getViewBy();
		
		switch ($report)
		{
			// number of submitted tickets
			case 'report_1':
				// query
				$query = 'SELECT
'.$this->_db->qn('department_id').',
'.$this->_db->qn('date').' FROM
'.$this->_db->qn('#__rsticketspro_tickets').'
WHERE 1';
				$query = $query.$where.$orderby;
				$this->_db->setQuery($query);
				
				$tickets = $this->_db->loadObjectList();
				
				if (empty($departments)) {
					foreach ($departments as $department) {
						$departments[] = $id;
					}
				}
				
				foreach ($departments as $department) {
					$department = $this->getDepartmentName($department);
					$return['departments'][$department] = array();
				}
				
				foreach ($tickets as $ticket) {
					if ($unit == 'quarter')
						$format =
$this->getQuarter(JFactory::getDate($ticket->date)->format('m'));
					
					$date = JFactory::getDate($ticket->date)->format($format);
					$department = $this->getDepartmentName($ticket->department_id);
					@$return['units'][$date] = $date;
					@$return['departments'][$department][$date] += 1;
					@$return['totals'][$date] += 1;
					
					unset($ticket);
				}
				
				if (!empty($return['totals'])) {
					$this->min = $this->max = max($return['totals']);
					
					foreach ($return['units'] as $date) {
						foreach ($departments as $department) {
							$department = $this->getDepartmentName($department);
							if (empty($return['departments'][$department][$date])) {
								$return['departments'][$department][$date] = 0;
								if (empty($return['totals'][$date])) {
									$return['totals'][$date] = 0;
								}
							}
						}
						
						// min
						if (!empty($return['totals'][$date]))
							$this->min = min($this->min,
$return['totals'][$date]);
					}
					
					foreach ($return['departments'] as $return_department =>
$return_values)
						ksort($return['departments'][$return_department]);
					
					// total
					$this->total = array_sum($return['totals']);
				
					// avg
					$this->avg =
floor(array_sum($return['totals'])/count($return['totals']));
				}
			break;
			
			// ticket solving time
			case 'report_2':
				// select
				$select = $viewby == 'department' ? 'department_id'
: 'staff_id';
				
				// query
				$query = 'SELECT
UNIX_TIMESTAMP('.$this->_db->qn('last_reply').')
- UNIX_TIMESTAMP('.$this->_db->qn('date').') AS
diff, '.$this->_db->qn($select).',
'.$this->_db->qn('date').' FROM
'.$this->_db->qn('#__rsticketspro_tickets').'
WHERE '.$this->_db->qn('status_id').' = 2';
				$query = $query.$where.$orderby;
				$this->_db->setQuery($query);
				$tickets = $this->_db->loadObjectList();
				
				$this->viewin = $input->getInt('viewin');
				if (!$this->viewin)
					$this->viewin = 60;
				
				if ($viewby == 'department') {
					if (empty($departments)) {
						foreach ($this->_department_names as $id => $name) {
							$departments[] = $id;
						}	
					}
					
					foreach ($departments as $department) {
						$department = $this->getDepartmentName($department);
						$return['viewby'][$department] = array();
					}
				}
				
				if ($viewby == 'staff') {
					if (empty($staff) && $viewby == 'staff') {
						foreach ($this->_staff_names as $id => $name) {
							$staff[] = $id;
						}
					}
					
					foreach ($staff as $staff_id) {
						$staff_id = $this->getStaffName($staff_id);
						$return['viewby'][$staff_id] = array();
					}
				}
				
				foreach ($tickets as $ticket) {
					$ticket->diff = $ticket->diff / $this->viewin;
					
					if ($unit == 'quarter')
						$format =
$this->getQuarter(JFactory::getDate($ticket->date)->format('m'));
					
					$date = JFactory::getDate($ticket->date)->format($format);
						
					$viewby_unit = $viewby == 'department' ?
$this->getDepartmentName($ticket->department_id) :
$this->getStaffName($ticket->staff_id);
					@$return['units'][$date] = $date;
					if (empty($return['viewby'][$viewby_unit][$date]))
						$return['viewby'][$viewby_unit][$date] = $ticket->diff;
					else
						$return['viewby'][$viewby_unit][$date] =
($return['viewby'][$viewby_unit][$date] + $ticket->diff) / 2;
						
					if (empty($return['totals'][$date]))
						$return['totals'][$date] = $ticket->diff / 2;
					else
						$return['totals'][$date] =
($return['totals'][$date] + $ticket->diff) / 2;
					
					unset($ticket);
				}
				
				if (!empty($return['totals'])) {
					// max
					$this->min = $this->max = max($return['totals']);
				
					foreach ($return['units'] as $date) {
						if ($viewby == 'department')
							foreach ($departments as $department) {
								$department = $this->getDepartmentName($department);
								if (empty($return['viewby'][$department][$date])) {
									$return['viewby'][$department][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
									
								}
							}
						
						if ($viewby == 'staff')
							foreach ($staff as $staff_id) {
								$staff_id = $this->getStaffName($staff_id);
								if (empty($return['viewby'][$staff_id][$date])) {
									$return['viewby'][$staff_id][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
								}
							}
						
						// min
						if (!empty($return['totals'][$date]))
							$this->min = min($this->min,
$return['totals'][$date]);
					}
					
					foreach ($return['viewby'] as $return_viewby =>
$return_values)
						ksort($return['viewby'][$return_viewby]);
					
					// total
					$this->total = count($return['totals']);
					
					// avg
					$this->avg =
floor(array_sum($return['totals'])/count($return['totals']));
				}
			break;
			
			// number of replies
			case 'report_3':
				// select
				$select = $viewby == 'department' ? 'department_id'
: 'staff_id';
				
				// query
				$query = 'SELECT
'.$this->_db->qn('t.'.$select).',
'.$this->_db->qn('m.date').' FROM
'.$this->_db->qn('#__rsticketspro_ticket_messages','m').'
LEFT JOIN
'.$this->_db->qn('#__rsticketspro_tickets','t').'
ON  '.$this->_db->qn('m.ticket_id').' =
'.$this->_db->qn('t.id').' WHERE 1';
				
				if (!empty($filter['date'])) {
					$filter['date'] =
str_replace($this->_db->qn('date'),
$this->_db->qn('m.date'), $filter['date']);
					$where = " ".implode(" ", $filter);
				}
				
				$orderby = str_replace($this->_db->qn('date'),
$this->_db->qn('m.date'), $orderby);
				$query = $query.$where.$orderby;
				$this->_db->setQuery($query);
				$tickets = $this->_db->loadObjectList();
				
				if ($viewby == 'department') {
					if (empty($departments))
						foreach ($this->_department_names as $id => $name)
							$departments[] = $id;
					foreach ($departments as $department) {
						$department = $this->getDepartmentName($department);
						$return['viewby'][$department] = array();
					}
				}
				
				if ($viewby == 'staff') {
					if (empty($staff) && $viewby == 'staff')
						foreach ($this->_staff_names as $id => $name)
							$staff[] = $id;
					foreach ($staff as $staff_id) {
						$staff_id = $this->getStaffName($staff_id);
						$return['viewby'][$staff_id] = array();
					}
				}
				
				foreach ($tickets as $ticket) {
					if ($unit == 'quarter')
						$format =
$this->getQuarter(JFactory::getDate($ticket->date)->format('m'));
					
					$date = JFactory::getDate($ticket->date)->format($format);
					
					$viewby_unit = $viewby == 'department' ?
$this->getDepartmentName($ticket->department_id) :
$this->getStaffName($ticket->staff_id);
					@$return['units'][$date] = $date;
					@$return['viewby'][$viewby_unit][$date] += 1;
					@$return['totals'][$date] += 1;
					
					unset($ticket);
				}
				
				if (!empty($return['totals'])) {
					// max
					$this->min = $this->max = max($return['totals']);
					
					foreach ($return['units'] as $date) {
						if ($viewby == 'department')
							foreach ($departments as $department) {
								$department = $this->getDepartmentName($department);
								if (empty($return['viewby'][$department][$date])) {
									$return['viewby'][$department][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
									
								}
							}
						
						if ($viewby == 'staff')
							foreach ($staff as $staff_id) {
								$staff_id = $this->getStaffName($staff_id);
								if (empty($return['viewby'][$staff_id][$date])) {
									$return['viewby'][$staff_id][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
									
								}
							}
						
						// min
						if (!empty($return['totals'][$date]))
							$this->min = min($this->min,
$return['totals'][$date]);
					}
					
					foreach ($return['viewby'] as $return_viewby =>
$return_values)
						ksort($return['viewby'][$return_viewby]);
					
					// total
					$this->total = array_sum($return['totals']);
				
					// avg
					$this->avg =
floor(array_sum($return['totals'])/count($return['totals']));
				}
			break;
			
			// feedback
			case 'report_4':
				// select
				$select = $viewby == 'department' ? 'department_id'
: 'staff_id';
				
				// query
				$query = 'SELECT '.$this->_db->qn($select).',
'.$this->_db->qn('feedback').',
'.$this->_db->qn('date').' FROM
'.$this->_db->qn('#__rsticketspro_tickets').'
WHERE '.$this->_db->qn('status_id').' = 2';
				$query = $query.$where.$orderby;
				$this->_db->setQuery($query);
				$tickets = $this->_db->loadObjectList();
				
				if ($viewby == 'department') {
					if (empty($departments))
						foreach ($this->_department_names as $id => $name)
							$departments[] = $id;
					foreach ($departments as $department) {
						$department = $this->getDepartmentName($department);
						$return['viewby'][$department] = array();
					}
				}
				
				if ($viewby == 'staff') {
					if (empty($staff) && $viewby == 'staff')
						foreach ($this->_staff_names as $id => $name)
							$staff[] = $id;
					foreach ($staff as $staff_id) {
						$staff_id = $this->getStaffName($staff_id);
						$return['viewby'][$staff_id] = array();
					}
				}
				
				foreach ($tickets as $ticket) {
					if ($unit == 'quarter')
						$format =
$this->getQuarter(JFactory::getDate($ticket->date)->format('m'));
					
					$date = JFactory::getDate($ticket->date)->format($format);
						
					$viewby_unit = $viewby == 'department' ?
$this->getDepartmentName($ticket->department_id) :
$this->getStaffName($ticket->staff_id);
					@$return['units'][$date] = $date;
					if (empty($return['viewby'][$viewby_unit][$date]))
						$return['viewby'][$viewby_unit][$date] =
$ticket->feedback;
					else
						$return['viewby'][$viewby_unit][$date] =
($return['viewby'][$viewby_unit][$date] + $ticket->feedback) /
2;
						
					if (empty($return['totals'][$date]))
						$return['totals'][$date] = $ticket->feedback / 2;
					else
						$return['totals'][$date] =
($return['totals'][$date] + $ticket->feedback) / 2;
					
					unset($ticket);
				}
				
				if (!empty($return['totals'])) {
					// max
					$this->min = $this->max = max($return['totals']);
					
					foreach ($return['units'] as $date) {
						if ($viewby == 'department')
							foreach ($departments as $department) {
								$department = $this->getDepartmentName($department);
								if (empty($return['viewby'][$department][$date])) {
									$return['viewby'][$department][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
									
								}
							}
						
						if ($viewby == 'staff')
							foreach ($staff as $staff_id) {
								$staff_id = $this->getStaffName($staff_id);
								if (empty($return['viewby'][$staff_id][$date])) {
									$return['viewby'][$staff_id][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
									
								}
							}
						
						// min
						if (!empty($return['totals'][$date]))
							$this->min = min($this->min,
$return['totals'][$date]);
					}
					
					foreach ($return['viewby'] as $return_viewby =>
$return_values)
						ksort($return['viewby'][$return_viewby]);
					
					// total
					$this->total = count($return['totals']);
				
					// avg
					$this->avg =
floor(array_sum($return['totals'])/count($return['totals']));
				}
			break;
			
			// response time
			case 'report_5':
				// select
				$select = $viewby == 'department' ? 'department_id'
: 'staff_id';
				
				// query
				$query = 'SELECT
'.$this->_db->qn('t.'.$select).',
UNIX_TIMESTAMP('.$this->_db->qn('m2.date').') -
UNIX_TIMESTAMP('.$this->_db->qn('m.date').') AS
diff, '.$this->_db->qn('m.id').',
'.$this->_db->qn('m2.id').',
'.$this->_db->qn('m.date').' FROM
'.$this->_db->qn('#__rsticketspro_ticket_messages','m').',
'.$this->_db->qn('#__rsticketspro_ticket_messages','m2').'
LEFT JOIN
'.$this->_db->qn('#__rsticketspro_tickets','t').'
ON '.$this->_db->qn('ticket_id').' =
'.$this->_db->qn('t.id').' WHERE
'.$this->_db->qn('m.ticket_id').' =
'.$this->_db->qn('m2.ticket_id').' AND
'.$this->_db->qn('m2.date').' >
'.$this->_db->qn('m.date').' AND
'.$this->_db->qn('m.user_id').' !=
'.$this->_db->qn('m2.user_id').'';
				
				if (!empty($filter['date'])) {
					$filter['date'] =
str_replace($this->_db->qn('date'),
$this->_db->qn('m.date'), $filter['date']);
					$where = " ".implode(" ", $filter);
				}
				
				$orderby = str_replace($this->_db->qn('date'),
$this->_db->qn('m.date'), $orderby);
				$groupby = ' GROUP BY
'.$this->_db->qn('m.ticket_id').' ';
				$query = $query.$where.$groupby.$orderby;
				$this->_db->setQuery($query);
				$tickets = $this->_db->loadObjectList();
				
				$this->viewin = $input->getInt('viewin');
				if (!$this->viewin)
					$this->viewin = 60;
					
				if ($viewby == 'department') {
					if (empty($departments))
						foreach ($this->_department_names as $id => $name)
							$departments[] = $id;
					foreach ($departments as $department) {
						$department = $this->getDepartmentName($department);
						$return['viewby'][$department] = array();
					}
				}
				if ($viewby == 'staff') {
					if (empty($staff) && $viewby == 'staff')
						foreach ($this->_staff_names as $id => $name)
							$staff[] = $id;
					foreach ($staff as $staff_id) {
						$staff_id = $this->getStaffName($staff_id);
						$return['viewby'][$staff_id] = array();
					}
				}
				
				foreach ($tickets as $ticket) {
					$ticket->diff = $ticket->diff / $this->viewin;
					
					if ($unit == 'quarter')
						$format =
$this->getQuarter(JFactory::getDate($ticket->date)->format('m'));
					
					$date = JFactory::getDate($ticket->date)->format($format);
						
					$viewby_unit = $viewby == 'department' ?
$this->getDepartmentName($ticket->department_id) :
$this->getStaffName($ticket->staff_id);
					@$return['units'][$date] = $date;
					if (empty($return['viewby'][$viewby_unit][$date]))
						$return['viewby'][$viewby_unit][$date] = $ticket->diff;
					else
						$return['viewby'][$viewby_unit][$date] =
($return['viewby'][$viewby_unit][$date] + $ticket->diff) / 2;
						
					if (empty($return['totals'][$date]))
						$return['totals'][$date] = $ticket->diff / 2;
					else
						$return['totals'][$date] =
($return['totals'][$date] + $ticket->diff) / 2;
					
					unset($ticket);
				}
				
				if (!empty($return['totals'])) {
					// max
					$this->min = $this->max = max($return['totals']);
					
					foreach ($return['units'] as $date) {
						if ($viewby == 'department')
							foreach ($departments as $department) {
								$department = $this->getDepartmentName($department);
								if (empty($return['viewby'][$department][$date])) {
									$return['viewby'][$department][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
								}
							}
						
						if ($viewby == 'staff')
							foreach ($staff as $staff_id) {
								$staff_id = $this->getStaffName($staff_id);
								if (empty($return['viewby'][$staff_id][$date])) {
									$return['viewby'][$staff_id][$date] = 0;
									if (empty($return['totals'][$date]))
										$return['totals'][$date] = 0;
								}
							}
						
						// min
						if (!empty($return['totals'][$date]))
							$this->min = min($this->min,
$return['totals'][$date]);
					}
					
					foreach ($return['viewby'] as $return_viewby =>
$return_values)
						ksort($return['viewby'][$return_viewby]);
					
					// total
					$this->total = array_sum($return['totals']);
				
					// avg
					$this->avg =
floor(array_sum($return['totals'])/count($return['totals']));
				}
			break;
			
			// assigned tickets
			case 'report_6':
				// query
				$query = 'SELECT
'.$this->_db->qn('staff_id').',
'.$this->_db->qn('date').' FROM
'.$this->_db->qn('#__rsticketspro_tickets').'
WHERE 1';
				$query = $query.$where.$orderby;
				$this->_db->setQuery($query);
				$tickets = $this->_db->loadObjectList();
				
				if (empty($staff))
					foreach ($this->_staff_names as $id => $name)
						$staff[] = $id;
				foreach ($staff as $staff_id) {
					$staff_id = $this->getStaffName($staff_id);
					$return['staff'][$staff_id] = array();
				}
				
				foreach ($tickets as $ticket) {
					if ($unit == 'quarter')
						$format =
$this->getQuarter(JFactory::getDate($ticket->date)->format('m'));
					
					$date = JFactory::getDate($ticket->date)->format($format);
					
					$staff_name = $this->getStaffName($ticket->staff_id);
					@$return['units'][$date] = $date;
					@$return['staff'][$staff_name][$date] += 1;
					@$return['totals'][$date] += 1;
					
					unset($ticket);
				}
				
				if (!empty($return['totals'])) {
					// max
					$this->min = $this->max = max($return['totals']);
					foreach ($return['units'] as $date) {	
						foreach ($staff as $staff_id) {
							$staff_id = $this->getStaffName($staff_id);
							if (empty($return['staff'][$staff_id][$date])) {
								$return['staff'][$staff_id][$date] = 0;
								if (empty($return['totals'][$date]))
									$return['totals'][$date] = 0;
							}
						}
						
						// min
						if (!empty($return['totals'][$date]))
							$this->min = min($this->min,
$return['totals'][$date]);
					}
					
					foreach ($return['staff'] as $return_staff =>
$return_values)
						ksort($return['staff'][$return_staff]);
					
					// total
					$this->total = array_sum($return['totals']);
				
					// avg
					$this->avg =
floor(array_sum($return['totals'])/count($return['totals']));
				}
			break;
		}
		
		unset($return['totals']);
		return $return;
	}
	
	public function getDepartmentName($id) {
		return @$this->_department_names[$id];
	}
	
	public function getStaffName($id) {
		return @$this->_staff_names[$id];
	}
	
	public function getQuarter($m) {
		$q = (int)floor($m / 3.1) + 1;
		return "Y Q$q";
	}
	
	public function getMin() {
		$unit =
JFactory::getApplication()->input->getString('unit','');
		return $this->getNumberFormat($this->min).'
'.$this->getViewIn().' '.' /
'.JText::_('RST_'.$unit);
	}
	
	public function getAvg() {
		$unit =
JFactory::getApplication()->input->getString('unit','');
		return $this->getNumberFormat($this->avg).'
'.$this->getViewIn().' '.' /
'.JText::_('RST_'.$unit);
	}
	
	public function getMax() {
		$unit =
JFactory::getApplication()->input->getString('unit','');
		return $this->getNumberFormat($this->max).'
'.$this->getViewIn().' '.' /
'.JText::_('RST_'.$unit);
	}
	
	public function getTotal() {
		return $this->getNumberFormat($this->total);
	}
	
	public function getNumberFormat($number) {
		return number_format($number, 2, '.', '');
	}
	
	public function getViewIn() {
		$report =
JFactory::getApplication()->input->getString('report','');
		
		switch ($report) {
			case 'report_1':
			case 'report_6':
				return JText::_('RST_TICKETS');
			break;
			
			case 'report_2':
			case 'report_5':
				switch ($this->viewin) {
					default:
					case 60:
						return JText::_('RST_MINUTES');
					break;
					
					case 3600:
						return JText::_('RST_HOURS');
					break;
					
					case 86400:
						return JText::_('RST_DAYS');
					break;
				}
			break;
			
			case 'report_3':
				return JText::_('RST_TICKET_REPLIES');
			break;
			
			case 'report_4':
				return JText::_('RST_STARS');
			break;
		}
	}
	
	public function getViewBy() {
		return
JFactory::getApplication()->input->getString('viewby','');
	}
	
	public function getIE() {
		if (preg_match("#MSIE#i",
$_SERVER['HTTP_USER_AGENT']) && !preg_match("#MSIE
9#", $_SERVER['HTTP_USER_AGENT']))
			return true;
		
		return false;
	}
	
	protected function getColor($i) {
		$colors = array('#3366FF', '#6633FF',
'#CC33FF', '#FF33CC', '#33CCFF',
'#003DF5', '#002EB8', '#FF3366',
'#33FFCC', '#B88A00', '#F5B800',
'#FF6633', '#33FF66', '#66FF33',
'#CCFF33', '#FFCC33', '#002080',
'#200080', '#600080', '#800060',
'#006080', '#002FBD', '#003EFA',
'#800020', '#008060', '#FABB00',
'#BD8E00', '#802000', '#008020',
'#208000', '#608000', '#806000');
		
		if ($i > count($colors) - 1) {
			$t = floor($i / (count($colors) - 1));
			$i = floor($i - $t);
		}
		
		return $colors[$i];
	}
	
	public function getRSPlain()
	{
		return new
RsticketsproAdapterPlain('com-rsticketspro-reports');
	}
	
	public function getOptions()
	{
		return array('time_period' =>
JText::_('RST_REPORTS_TIME_PERIOD'), 
			'department' =>
JText::_('RST_REPORTS_DEPARTMENT'), 
			'staff' => JText::_('RST_REPORTS_STAFF'), 
			'customer' => JText::_('RST_REPORTS_CUSTOMER'), 
			'priority' => JText::_('RST_REPORTS_PRIORITY')
		);
	}

	protected function escape($value)
	{
		return htmlspecialchars($value, ENT_COMPAT, 'utf-8');
	}

    public function getForm($data = array(), $loadData = true)
    {
        // Get the form.
        $form = $this->loadForm('com_rsticketspro.reports',
'reports', array('control' => '',
'load_data' => $loadData));

        if (empty($form))
        {
            return false;
        }

        // Departments
        $departments = $this->getDepartments();
        $xmlDepartments = '<fieldset name="departments"
label="'.JText::_('RST_REPORTS_DEPARTMENT').'">';
        foreach ($departments as $i => $department) {
            // add the department field
            $xmlDepartments .= '<field
name="departments[]" id="departments'.$i.'"
type="checkbox"
label="'.$this->escape($department->name).'"
description="" class="checkbox inline"
labelclass="checkbox inline"
value="'.$department->id.'"
default="'.$department->id.'"
checked="true" />';

            // add the proper color field
            $default = $this->getColor($i);
            $xmlDepartments .= '<field
name="color_department_'.$i.'" type="color"
description="" label=""
default="'.$this->escape($default).'" />';

        }
        $xmlDepartments .= '</fieldset>';
        $xmlDepartments = new SimpleXMLElement($xmlDepartments);
        $form->setField($xmlDepartments);

        // Staff
        $staff = $this->getStaff();
        $xmlStaff = '<fieldset name="staff"
label="'.JText::_('RST_REPORTS_STAFF').'">';
        foreach ($staff as $i => $person) {
            // add the staff field
            $xmlStaff .= '<field name="staff[]"
id="staff'.$i.'" type="checkbox"
label="'.$this->escape($person->thealias).'"
description="" class="checkbox inline"
labelclass="checkbox inline"
value="'.$person->user_id.'"
default="'.$person->user_id.'"
checked="true" />';

            // add the proper color field
            $default = $this->getColor($i);
            $xmlStaff .= '<field
name="color_staff_'.$i.'" type="color"
description="" label=""
default="'.$this->escape($default).'" />';
        }
        $xmlStaff .= '</fieldset>';
        $xmlStaff = new SimpleXMLElement($xmlStaff);
        $form->setField($xmlStaff);

        // Priority
        $priorites 	= $this->getPriority();

        $options	= '';
        $checked	= array();
        foreach ($priorites as $priority) {
            $options .= '<option
value="'.$priority->id.'">'.$this->escape($priority->name).'</option>';
            $checked[] = $priority->id;
        }

        $element = new SimpleXMLElement('<fieldset
name="priority"
label="'.JText::_('RST_REPORTS_PRIORITY').'"><field
name="priority" type="checkboxes" label=""
description="" class="checkbox inline"
checked="'.implode(',',
$checked).'">'.$options.'</field></fieldset>');
        $form->setField($element);

        return $form;
    }

    protected function loadFormData()
    {
        return array();
    }
}models/staff.php000064400000002451151165644020007651 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelStaff extends JModelAdmin
{
	public function getTable($type = 'Staff', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.staff',
'staff', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.staff.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		if (!empty($data->department_id) &&
!is_array($data->department_id))
		{
			$data->department_id = explode(',',
$data->department_id);
		}

		return $data;
	}

	protected function canDelete($record)
	{
		return JFactory::getUser()->authorise('staff.delete',
'com_rsticketspro');
	}
}models/staffs.php000064400000004601151165644020010033 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelStaffs extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'username', 'name', 'email',
'group_name', 'priority_name', 'u.id'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		
		$query->select('s.*')
			->select($db->qn('g.name', 'group_name'))
			->select($db->qn('u.username'))
			->select($db->qn('u.name'))
			->select($db->qn('u.email'))
			->select($db->qn('p.name', 'priority_name'))
			->from($db->qn('#__rsticketspro_staff', 's'))
			->join('left',
$db->qn('#__rsticketspro_groups', 'g') . ' ON
(' . $db->qn('s.group_id') . '=' .
$db->qn('g.id') . ')')
			->join('left', $db->qn('#__users',
'u') . ' ON (' . $db->qn('s.user_id') .
'=' . $db->qn('u.id') . ')')
			->join('left',
$db->qn('#__rsticketspro_priorities', 'p') . '
ON (' . $db->qn('s.priority_id') . '=' .
$db->qn('p.id') . ')');

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('s.id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$search = $db->q('%'.str_replace(' ',
'%', $db->escape($search, true)).'%', false);

				$query->where($db->qn('g.name') . ' LIKE ' .
$search, 'OR');
				$query->where($db->qn('u.username') . ' LIKE
' . $search, 'OR');
				$query->where($db->qn('u.name') . ' LIKE ' .
$search, 'OR');
				$query->where($db->qn('u.email') . ' LIKE ' .
$search, 'OR');
			}
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'group_name')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}
	
	protected function populateState($ordering = 'group_name',
$direction = 'asc')
	{
		$this->setState('filter.search',
	$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		
		// List state information.
		parent::populateState($ordering, $direction);
	}
}models/status.php000064400000004255151165644020010075 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelStatus extends JModelAdmin
{
	public function getTable($type = 'Statuses', $prefix =
'RsticketsproTable', $config = array())
	{
		return parent::getTable($type, $prefix, $config);
	}
	
	public function getForm($data = array(), $loadData = true)
	{
		// Get the form.
		$form = $this->loadForm('com_rsticketspro.status',
'status', array('control' => 'jform',
'load_data' => $loadData));
		if (empty($form))
		{
			return false;
		}

		// Modify the form based on access controls.
		if (!$this->canEditState((object) $data))
		{
			// Disable fields for display.
			$form->setFieldAttribute('ordering', 'disabled',
'true');
			$form->setFieldAttribute('published', 'disabled',
'true');

			// Disable fields while saving.
			// The controller has already verified this is a record you can edit.
			$form->setFieldAttribute('ordering', 'filter',
'unset');
			$form->setFieldAttribute('published', 'filter',
'unset');
		}

		return $form;
	}
	
	protected function loadFormData()
	{
		// Check the session for previously entered form data.
		$data =
JFactory::getApplication()->getUserState('com_rsticketspro.edit.status.data',
array());

		if (empty($data))
		{
			$data = $this->getItem();
		}

		return $data;
	}
	
	protected function canDelete($record)
	{
		if ($this->isCore($record->id))
		{
			return false;
		}

		return JFactory::getUser()->authorise('status.delete',
'com_rsticketspro');
	}
	
	protected function canEditState($record)
	{
		$task = JFactory::getApplication()->input->get('task');
		if ($task !== 'saveOrderAjax')
		{
			$id = !empty($record->id) ? $record->id :
JFactory::getApplication()->input->getInt('id');

			if ($this->isCore($id))
			{
				return false;
			}
		}

		return JFactory::getUser()->authorise('status.edit.state',
'com_rsticketspro');
	}
	
	protected function isCore($id)
	{
		return $id > 0 && $id <= 3;
	}
}models/statuses.php000064400000003535151165644030010426 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproModelStatuses extends JModelList
{
	public function __construct($config = array())
	{
		if (empty($config['filter_fields']))
		{
			$config['filter_fields'] = array(
				'name', 'published', 'ordering',
'id', 'state'
			);
		}

		parent::__construct($config);
	}
	
	protected function getListQuery()
	{
		$db 	= JFactory::getDbo();
		$query 	= $db->getQuery(true);
		
		// get filtering states
		$search = $this->getState('filter.search');
		$state 	= $this->getState('filter.state');
		
		$query->select('*')
			->from('#__rsticketspro_statuses');

		// search
		if (strlen($search))
		{
			if (stripos($search, 'id:') === 0)
			{
				$query->where($db->qn('id') . ' = ' . (int)
substr($search, 3));
			}
			else
			{
				$query->where($db->qn('name') . ' LIKE ' .
$db->q('%'.str_replace(' ', '%',
$db->escape($search, true)).'%', false));
			}
		}

		// published/unpublished
		if ($state != '')
		{
			$query->where($db->qn('published') . '=' .
$db->q($state));
		}

		// order by
		$query->order($db->qn($this->getState('list.ordering',
'ordering')).'
'.$db->escape($this->getState('list.direction',
'asc')));
		
		return $query;
	}

	protected function populateState($ordering = 'ordering',
$direction = 'asc')
	{
		$this->setState('filter.search',
$this->getUserStateFromRequest($this->context.'.filter.search',
'filter_search'));
		$this->setState('filter.state',
$this->getUserStateFromRequest($this->context.'.filter.state',
'filter_state'));

		// List state information.
		parent::populateState($ordering, $direction);
	}
}rsticketspro.xml000064400000006204151165644030010031 0ustar00<?xml
version="1.0" encoding="utf-8"?>
<extension type="component" version="3.7.0"
method="upgrade">
	<name>com_rsticketspro</name>
	<creationDate>March 2015</creationDate>
	<author>RSJoomla!</author>
	<copyright>(C) 2010-2019 www.rsjoomla.com</copyright>
	<license>http://www.gnu.org/copyleft/gpl.html
GNU/GPL</license> 
	<authorEmail>support@rsjoomla.com</authorEmail>
	<authorUrl>www.rsjoomla.com</authorUrl>
	<version>3.0.1</version>
	<description>COM_RSTICKETSPRO_INSTALL_DESC</description>
	<scriptfile>script.rsticketspro.php</scriptfile>

	<updateservers>
		<server type="extension" priority="1"
name="RSTickets!
Pro">https://www.rsjoomla.com/updates/com_rsticketspro/Component/com_rsticketspro_2.5-3.0.xml</server>
	</updateservers>

	<install>
		<sql>
			<file driver="mysql"
charset="utf8">sql/install.sql</file>
			<file driver="mysql"
charset="utf8">sql/sample.sql</file>
		</sql>
	</install>

	<uninstall>
		<sql>
			<file driver="mysql"
charset="utf8">sql/uninstall.sql</file>
		</sql>
	</uninstall>

	<files folder="site">
		<filename>controller.php</filename>
		<filename>index.html</filename>
		<filename>router.php</filename>
		<filename>rsticketspro.php</filename>
		<folder>assets</folder>
		<folder>controllers</folder>
		<folder>models</folder>
		<folder>views</folder>
	</files>
	
	<media destination="com_rsticketspro"
folder="media">
		<folder>css</folder>
		<folder>images</folder>
		<folder>js</folder>
		<filename>index.html</filename>
	</media>

	<languages folder="site/language">
		<language
tag="en-GB">en-GB/en-GB.com_rsticketspro.ini</language>
	</languages>

	<administration>

		<menu>RSTicketsPro</menu>
		<submenu>
			<menu
link="option=com_rsticketspro">COM_RSTICKETSPRO_OVERVIEW</menu>
			<menu
view="tickets">COM_RSTICKETSPRO_MANAGE_TICKETS</menu>
			<menu
view="departments">COM_RSTICKETSPRO_DEPARTMENTS</menu>
			<menu
view="customfields">COM_RSTICKETSPRO_CUSTOM_FIELDS</menu>
			<menu
view="groups">COM_RSTICKETSPRO_GROUPS</menu>
			<menu
view="staffs">COM_RSTICKETSPRO_STAFF_MEMBERS</menu>
			<menu
view="priorities">COM_RSTICKETSPRO_PRIORITIES</menu>
			<menu
view="statuses">COM_RSTICKETSPRO_STATUSES</menu>
			<menu
view="emails">COM_RSTICKETSPRO_EMAIL_MESSAGES</menu>
			<menu
view="configuration">COM_RSTICKETSPRO_CONFIGURATION</menu>
			<menu
view="kbcategories">COM_RSTICKETSPRO_KB_CATEGORIES</menu>
			<menu
view="kbarticles">COM_RSTICKETSPRO_KB_ARTICLES</menu>
			<menu
view="kbrules">COM_RSTICKETSPRO_KB_CONVERSION_RULES</menu>
		</submenu>
		
		<files folder="admin">
			<filename>access.xml</filename>
			<filename>config.xml</filename>
			<filename>controller.php</filename>
			<filename>index.html</filename>
			<filename>rsticketspro.php</filename>
			<folder>controllers</folder>
			<folder>helpers</folder>
			<folder>models</folder>
			<folder>sql</folder>
			<folder>tables</folder>
			<folder>views</folder>
		</files>

		<languages folder="admin/language">
			<language
tag="en-GB">en-GB/en-GB.com_rsticketspro.ini</language>
			<language
tag="en-GB">en-GB/en-GB.com_rsticketspro.sys.ini</language>
		</languages>

	</administration>
</extension>script.rsticketspro.php000064400000045006151165644030011326
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class com_rsticketsproInstallerScript
{
	protected $plugins = array(
		array('element' => 'rsticketspro',
'type' => 'plugin', 'folder' =>
'system', 'source' => 'plg_system',
'name' => 'System - RSTickets! Pro Plugin'),
		array('element' => 'rsticketspro',
'type' => 'plugin', 'folder' =>
'user', 'source' => 'plg_user',
'name' => 'User - RSTickets! Pro Staff'),
		array('element' => 'rsticketspro',
'type' => 'plugin', 'folder' =>
'privacy', 'source' =>
'plg_rsticketsproprivacy', 'name' => 'Privacy -
RSTickets! Pro'),
		array('element' => 'rsticketspro',
'type' => 'plugin', 'folder' =>
'installer', 'source' => 'plg_installer',
'name' => 'Installer - RSTickets! Pro'),
		array('element' => 'rsticketsprocontent',
'type' => 'plugin', 'folder' =>
'search', 'source' => 'plg_search',
'name' => 'Search - RSTickets! Pro Knowledgebase'),
	);

	public function uninstall($parent)
	{
		// Get Dbo
		$db = JFactory::getDbo();
		
		// Get a new installer
		foreach ($this->plugins as $plugin)
		{
			$query = $db->getQuery(true)
				->select($db->qn('extension_id'))
				->from($db->qn('#__extensions'))
				->where($db->qn('element') . ' = ' .
$db->q($plugin['element']))
				->where($db->qn('type') . ' = ' .
$db->q($plugin['type']))
				->where($db->qn('folder') . ' = ' .
$db->q($plugin['folder']));
			if ($extension_id = $db->setQuery($query)->loadResult())
			{
				$installer = new JInstaller();

				$installer->uninstall('plugin', $extension_id);
			}
		}
	}
	
	
	public function preflight($type, $parent) {		
		$jversion = new JVersion();
		
		if (!$jversion->isCompatible('3.8.0')) {
			JFactory::getApplication()->enqueueMessage('Please upgrade to at
least Joomla! 3.8.0 before continuing!', 'error');
			return false;
		}
		
		return true;
	}
	
	public function postflight($type, $parent)
	{
		if ($type == 'uninstall')
		{
			return true;
		}
		
		$db 			= JFactory::getDbo();
		$this->source 	=
$parent->getParent()->getPath('source');

		$messages = array(
			'plugins' => array()
		);

		foreach ($this->plugins as $plugin)
		{
			$tmp = (object) array(
				'name' 		=> $plugin['name'],
				'status' 	=> 'not-ok',
				'text' 		=> 'Not installed'
			);

			$installer = new JInstaller();

			if ($installer->install($this->source . '/other/' .
$plugin['source']))
			{
				$query = $db->getQuery(true)
					->update('#__extensions')
					->set($db->qn('enabled').'='.$db->q(1))
					->where($db->qn('element') . ' = ' .
$db->q($plugin['element']))
					->where($db->qn('type') . ' = ' .
$db->q($plugin['type']))
					->where($db->qn('folder') . ' = ' .
$db->q($plugin['folder']));

				$db->setQuery($query)->execute();

				$tmp->status = 'ok';
				$tmp->text = 'Installed';
			}

			$messages['plugins'][] = $tmp;
		}

		if
(file_exists(JPATH_SITE.'/plugins/user/rsticketspro/rsticketspro.php'))
		{
			require_once JPATH_SITE .
'/plugins/user/rsticketspro/rsticketspro.php';

			if (class_exists('plgUserRsticketspro'))
			{
				plgUserRsticketspro::onUserLogin($user=array(), $options=array());
			}
		}
		
		if ($type == 'update')
		{
			$this->updateProcess();
			
			$sqlfile = JPATH_ADMINISTRATOR .
'/components/com_rsticketspro/sql/install.sql';
			$buffer = file_get_contents($sqlfile);
			if ($buffer === false)
			{
               
JFactory::getApplication()->enqueueMessage(JText::_('JLIB_INSTALLER_ERROR_SQL_READBUFFER'),
'warning');
			}
			else
			{
				// Process each query in the $queries array (split out of sql file).
				if ($queries = $db->splitSql($buffer))
				{
					foreach ($queries as $query)
					{
						$db->setQuery($query);
						try
						{
							$db->execute();
						}
						catch (Exception $e)
						{
							JFactory::getApplication()->enqueueMessage(JText::sprintf('JLIB_INSTALLER_ERROR_SQL_ERROR',
$e->getMessage()), 'warning');
						}
					}
				}
			}
		}

		$this->showInstallMessage($messages);

		return true;
	}
	
	protected function escape($string) {
		return htmlentities($string, ENT_COMPAT, 'utf-8');
	}
	
	protected function isColumnInt($column) {
		return substr(strtolower($column), 0, 3) == 'int';
	}
	
	protected function updateProcess() {
		$db = JFactory::getDbo();
		
		// #__rsticketspro_kb_content updates
		$columns =
$db->getTableColumns('#__rsticketspro_kb_content');
		if ($this->isColumnInt($columns['created'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_kb_content CHANGE
`created` `created` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_kb_content SET `created` =
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('created')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('created')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_kb_content SET `created` =
'0000-00-00 00:00:00' WHERE `created` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_kb_content CHANGE
`created` ".$db->qn('created')." DATETIME NOT NULL
DEFAULT '0000-00-00 00:00:00'");
			$db->execute();
		}
		if ($this->isColumnInt($columns['modified'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_kb_content CHANGE
`modified` `modified` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_kb_content SET `modified`
=
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('modified')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('modified')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_kb_content SET `modified`
= '0000-00-00 00:00:00' WHERE `modified` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_kb_content CHANGE
`modified` ".$db->qn('modified')." DATETIME NOT NULL
DEFAULT '0000-00-00 00:00:00'");
			$db->execute();
		}
		
		// #__rsticketspro_ticket_notes updates
		$columns =
$db->getTableColumns('#__rsticketspro_ticket_notes');
		if ($this->isColumnInt($columns['date'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_notes CHANGE
`date` `date` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_notes SET `date` =
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('date')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('date')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_notes SET `date` =
'0000-00-00 00:00:00' WHERE `date` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_notes CHANGE
`date` ".$db->qn('date')." DATETIME NOT NULL DEFAULT
'0000-00-00 00:00:00'");
			$db->execute();
		}
		
		// #__rsticketspro_ticket_history updates
		$columns =
$db->getTableColumns('#__rsticketspro_ticket_history');
		if ($this->isColumnInt($columns['date'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_history CHANGE
`date` `date` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_history SET `date`
=
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('date')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('date')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_history SET `date`
= '0000-00-00 00:00:00' WHERE `date` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_history CHANGE
`date` ".$db->qn('date')." DATETIME NOT NULL DEFAULT
'0000-00-00 00:00:00'");
			$db->execute();
		}
		if (!isset($columns['type'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_history ADD
`type` VARCHAR(64) NOT NULL AFTER `date`");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_history SET `type`
= 'view' WHERE `type`= ''");
			$db->execute();
		}
		
		// #__rsticketspro_tickets updates
		$columns = $db->getTableColumns('#__rsticketspro_tickets');
		if ($this->isColumnInt($columns['date'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets CHANGE `date`
`date` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_tickets SET `date` =
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('date')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('date')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_tickets SET `date` =
'0000-00-00 00:00:00' WHERE `date` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets CHANGE `date`
".$db->qn('date')." DATETIME NOT NULL DEFAULT
'0000-00-00 00:00:00'");
			$db->execute();
		}
		if (!isset($columns['closed'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets ADD `closed`
DATETIME NOT NULL AFTER `autoclose_sent`");
			$db->execute();
		}

		if (!isset($columns['followup_sent'])){
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets ADD
`followup_sent` TINYINT NOT NULL DEFAULT '0' AFTER
`feedback`");
			$db->execute();
		}
		
		if (!isset($columns['alternative_email'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets ADD
`alternative_email` VARCHAR(255) NOT NULL AFTER `date`");
			$db->execute();
		}

		if ($this->isColumnInt($columns['last_reply'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets CHANGE
`last_reply` `last_reply` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_tickets SET `last_reply` =
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('last_reply')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('last_reply')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_tickets SET `last_reply` =
'0000-00-00 00:00:00' WHERE `last_reply` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_tickets CHANGE
`last_reply` ".$db->qn('last_reply')." DATETIME NOT
NULL DEFAULT '0000-00-00 00:00:00'");
			$db->execute();
		}

		// #__rsticketspro_ticket_messages updates
		$columns =
$db->getTableColumns('#__rsticketspro_ticket_messages');
		if ($this->isColumnInt($columns['date'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_messages
CHANGE `date` `date` VARCHAR(255) NOT NULL");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_messages SET `date`
=
IFNULL(CONVERT_TZ(FROM_UNIXTIME(".$db->qn('date')."),
@@session.time_zone, 'UTC'),
FROM_UNIXTIME(".$db->qn('date')."))");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_ticket_messages SET `date`
= '0000-00-00 00:00:00' WHERE `date` LIKE
'1970-01-01%'");
			$db->execute();					
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_messages
CHANGE `date` ".$db->qn('date')." DATETIME NOT NULL
DEFAULT '0000-00-00 00:00:00'");
			$db->execute();
		}
		if (!isset($columns['html'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_messages ADD
`html` TINYINT( 1 ) NOT NULL ");
			$db->execute();
			$db->setQuery("SELECT `value` FROM #__rsticketspro_configuration
WHERE `name` = 'allow_rich_editor'");
			$allow_rich_editor = $db->loadResult();
			$db->setQuery("UPDATE #__rsticketspro_ticket_messages SET `html`
= '".($allow_rich_editor ? 1 : 2)."'");
			$db->execute();
		}
		if (!isset($columns['submitted_by_staff'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_ticket_messages ADD
`submitted_by_staff` INT(11) NOT NULL ");
			$db->execute();
		}
		
		// #__rsticketspro_emails updates
		$columns = $db->getTableColumns('#__rsticketspro_emails');
		if (!isset($columns['id'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_emails DROP PRIMARY
KEY");
			$db->execute();
			$db->setQuery("ALTER TABLE #__rsticketspro_emails ADD `id` INT
NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST");
			$db->execute();
			$db->setQuery("ALTER TABLE `#__rsticketspro_emails` ADD UNIQUE
(`lang`,`type`)");
			$db->execute();
		}
		if (!isset($columns['published'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_emails ADD
`published` tinyint(1) NOT NULL DEFAULT '1' AFTER
`message`");
			$db->execute();
		}

		$columns =
$db->getTableColumns('#__rsticketspro_departments');
		if (!isset($columns['download_type'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_departments ADD
`download_type` VARCHAR( 255 ) NOT NULL DEFAULT 'attachment'
AFTER `upload_files`");
			$db->execute();
		}
        if (!isset($columns['upload_ticket_required'])) {
            $db->setQuery("ALTER TABLE #__rsticketspro_departments
ADD `upload_ticket_required` TINYINT( 1 ) UNSIGNED NOT NULL DEFAULT
'0' AFTER `upload`");
            $db->execute();
        }
        if (!isset($columns['jgroups']))
		{
			$db->setQuery("ALTER TABLE #__rsticketspro_departments ADD
`jgroups` MEDIUMTEXT NOT NULL AFTER `predefined_subjects`");
			$db->execute();
		}

		// #__rsticketspro_searches updates$download_type
		$columns =
$db->getTableColumns('#__rsticketspro_searches');
		if (!isset($columns['published'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_searches ADD
`published` TINYINT( 1 ) NOT NULL AFTER `default`");
			$db->execute();
			$db->setQuery("UPDATE #__rsticketspro_searches SET `published` =
1");
			$db->execute();
		}
		
		// #__rsticketspro_kb_categories updates
		$columns =
$db->getTableColumns('#__rsticketspro_kb_categories', false);
		if ($columns['thumb']->Type == 'varchar(16)') {
			$db->setQuery("ALTER TABLE `#__rsticketspro_kb_categories`
CHANGE `thumb` `thumb` VARCHAR( 64 ) CHARACTER SET utf8 COLLATE
utf8_general_ci NOT NULL");
			$db->execute();
		}
		
		// #__rsticketspro_groups updates
		$columns = $db->getTableColumns('#__rsticketspro_groups');
		if (!isset($columns['export_tickets'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_groups ADD
`export_tickets` TINYINT( 1 ) NOT NULL");
			$db->execute();
		}
		
		// #__rsticketspro_staff updates
		$columns = $db->getTableColumns('#__rsticketspro_staff');
		if (!isset($columns['exclude_auto_assign'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_staff ADD
`exclude_auto_assign` TINYINT( 1 ) NOT NULL DEFAULT '0'");
			$db->execute();
		}
		if (!isset($columns['can_delete_time_history'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_staff ADD
`can_delete_time_history` TINYINT( 1 ) NOT NULL DEFAULT
'0'");
			$db->execute();
		}
		if (!isset($columns['can_delete_own_time_history'])) {
			$db->setQuery("ALTER TABLE #__rsticketspro_staff ADD
`can_delete_own_time_history` TINYINT( 1 ) NOT NULL DEFAULT
'0'");
			$db->execute();
		}
		
		// #__menu update
		$db->setQuery("SELECT `id` FROM #__menu WHERE `link` LIKE
'index.php?option=com_rsticketspro&view=searches'");
		if ($predefinedSearches = $db->loadColumn()) {
			foreach ($predefinedSearches as $search) {
				$db->setQuery("UPDATE `#__menu` SET `link` =
".$db->q('index.php?option=com_rsticketspro&view=predefinedsearches')."
WHERE `id` = ".(int) $search." ");
				$db->execute();
			}
		}

		// Department relations has changed
		$tables = $db->getTableList();
		if (in_array($db->getPrefix() .
'rsticketspro_departments_relations', $tables))
		{
			$db->setQuery("SELECT * FROM
#__rsticketspro_departments_relations");
			if ($results = $db->loadObjectList())
			{
				$departments = array();
				foreach ($results as $result)
				{
					if (!isset($departments[$result->department_id]))
					{
						$departments[$result->department_id] = array();
					}

					$departments[$result->department_id][] = $result->jgroup_id;
				}

				if ($departments)
				{
					foreach ($departments as $department_id => $groups)
					{
						$db->setQuery("UPDATE #__rsticketspro_departments SET jgroups
= " . $db->q(json_encode($groups)) . " WHERE id = " .
$db->q($department_id))->execute();
					}
				}
			}
			$db->dropTable('#__rsticketspro_departments_relations');
		}

		$db->setQuery("UPDATE #__rsticketspro_configuration SET `value` =
'100' WHERE `name` = 'export_limit' AND `value` =
''");
		$db->execute();

		$db->setQuery("UPDATE #__menu SET `link` =
'index.php?option=com_rsticketspro&view=tickets' WHERE
`client_id` = '0' AND `link` =
'index.php?option=com_rsticketspro&view=rsticketspro'");
		$db->execute();

		if (JFolder::exists(JPATH_SITE .
'/components/com_rsticketspro/views/rsticketspro'))
		{
			JFolder::delete(JPATH_SITE .
'/components/com_rsticketspro/views/rsticketspro');
		}
	}
	
	protected function showInstallMessage($messages=array()) {
?>
<style type="text/css">
.version-history {
	margin: 0 0 2em 0;
	padding: 0;
	list-style-type: none;
}
.version-history > li {
	margin: 0 0 0.5em 0;
	padding: 0 0 0 4em;
}
.version-new,
.version-fixed,
.version-upgraded {
	float: left;
	font-size: 0.8em;
	margin-left: -4.9em;
	width: 4.5em;
	color: white;
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
.version-new {
	background: #7dc35b;
}
.version-fixed {
	background: #e9a130;
}
.version-upgraded {
	background: #61b3de;
}

.install-ok {
	background: #7dc35b;
	color: #fff;
	padding: 3px;
}

.install-not-ok {
	background: #E9452F;
	color: #fff;
	padding: 3px;
}

.install-warning {
	background: #EFBB67;
	color: #fff;
	padding: 3px;
}

.rsticketspro-row {
	width: 100%;
	display: block;
	margin-bottom: 2%;
}

.rsticketspro-row:after {
	clear: both;
	display: block;
	content: "";
}

.rsticketspro-column-2 {
	width: 19%;
	margin-right: 1%;
	float: left;
}

.rsticketspro-column-10 {
	width: 80%;
	float: left;
}
</style>
<div class="rsticketspro-row">
	<div class="rsticketspro-column-2">
		<?php echo JHtml::_('image',
'com_rsticketspro/admin/rstickets-pro-box.png', 'RSTickets!
Pro Box', array(), true); ?>
	</div>
	<div class="rsticketspro-column-10">
		<?php if ($messages['plugins']) { ?>
			<?php foreach ($messages['plugins'] as $plugin) { ?>
			<p><?php echo $this->escape($plugin->name); ?> ...
				<b class="install-<?php echo $plugin->status;
?>"><?php echo $plugin->text; ?></b>
			</p>
			<?php } ?>
		<?php } ?>
		<h2>Changelog v3.0.1</h2>
		<ul class="version-history">
			<li><span class="version-fixed">Fix</span>
An error could show up when editing a 'Predefined
Search'.</li>
		</ul>
		<p>
			<a class="btn btn-large btn-primary"
href="index.php?option=com_rsticketspro">Start using
RSTickets! Pro</a>
			<a class="btn btn-secondary"
href="https://www.rsjoomla.com/support/documentation/rsticketspro.html"
target="_blank">Read the RSTickets! Pro User Guide</a>
			<a class="btn btn-secondary"
href="https://www.rsjoomla.com/support.html"
target="_blank">Get Support!</a>
		</p>
	</div>
</div>
		<?php
	}
}sql/index.html000064400000000054151165644030007344
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>sql/install.sql000064400000044344151165644030007550
0ustar00-- noinspection SqlDialectInspectionForFile
-- noinspection SqlNoDataSourceInspectionForFile
CREATE TABLE IF NOT EXISTS `#__rsticketspro_configuration` (
  `name` varchar(255) NOT NULL,
  `value` text NOT NULL,
  UNIQUE KEY `name` (`name`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_custom_fields` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `department_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `label` varchar(255) NOT NULL,
  `type` varchar(255) NOT NULL,
  `values` text NOT NULL,
  `additional` text NOT NULL,
  `validation` text NOT NULL,
  `required` tinyint(1) NOT NULL,
  `description` text NOT NULL,
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  UNIQUE KEY `id` (`id`),
  KEY `department_id` (`department_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_custom_fields_values` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `custom_field_id` int(11) NOT NULL,
  `ticket_id` int(11) NOT NULL,
  `value` text NOT NULL,
  PRIMARY KEY (`id`),
  KEY `custom_field_id` (`custom_field_id`),
  KEY `ticket_id` (`ticket_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_departments` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `prefix` varchar(255) NOT NULL,
  `assignment_type` tinyint(1) NOT NULL,
  `generation_rule` tinyint(1) NOT NULL,
  `next_number` int(11) NOT NULL DEFAULT '1',
  `email_address` varchar(255) NOT NULL,
  `email_address_fullname` varchar(255) NOT NULL,
  `email_use_global` tinyint(1) unsigned NOT NULL DEFAULT '1',
  `customer_send_email` tinyint(1) NOT NULL,
  `customer_send_copy_email` tinyint(1) NOT NULL DEFAULT '1',
  `customer_attach_email` tinyint(1) NOT NULL DEFAULT '1',
  `staff_send_email` tinyint(1) NOT NULL,
  `staff_attach_email` tinyint(1) NOT NULL DEFAULT '1',
  `upload` tinyint(1) NOT NULL,
  `upload_ticket_required` tinyint(1) unsigned NOT NULL DEFAULT
'0',
  `upload_extensions` text NOT NULL,
  `upload_size` decimal(10,2) unsigned NOT NULL,
  `upload_files` int(11) NOT NULL,
  `download_type` varchar(255) NOT NULL DEFAULT 'attachment',
  `notify_new_tickets_to` text NOT NULL,
  `notify_assign` tinyint(1) NOT NULL,
  `priority_id` int(11) NOT NULL,
  `cc` text NOT NULL,
  `bcc` text NOT NULL,
  `predefined_subjects` text NOT NULL,
  `jgroups` mediumtext NOT NULL,
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  UNIQUE KEY `id` (`id`),
  KEY `customer_send_email` (`customer_send_email`),
  KEY `staff_send_email` (`staff_send_email`),
  KEY `upload` (`upload`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_emails` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lang` varchar(64) NOT NULL,
  `type` varchar(255) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `message` text NOT NULL,
  `published` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`),
  UNIQUE KEY `lang` (`lang`,`type`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_groups` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `add_ticket` tinyint(1) NOT NULL,
  `add_ticket_customers` tinyint(1) NOT NULL,
  `add_ticket_staff` tinyint(1) NOT NULL,
  `update_ticket` tinyint(1) NOT NULL,
  `update_ticket_custom_fields` tinyint(1) NOT NULL,
  `delete_ticket` tinyint(1) NOT NULL,
  `answer_ticket` tinyint(1) NOT NULL,
  `update_ticket_replies` tinyint(1) NOT NULL,
  `update_ticket_replies_customers` tinyint(1) NOT NULL,
  `update_ticket_replies_staff` tinyint(1) NOT NULL,
  `delete_ticket_replies_customers` tinyint(1) NOT NULL,
  `delete_ticket_replies_staff` tinyint(1) NOT NULL,
  `delete_ticket_replies` tinyint(1) NOT NULL,
  `assign_tickets` tinyint(1) NOT NULL,
  `change_ticket_status` tinyint(1) NOT NULL,
  `see_unassigned_tickets` tinyint(1) NOT NULL,
  `see_other_tickets` tinyint(1) NOT NULL,
  `move_ticket` tinyint(1) NOT NULL,
  `view_notes` tinyint(1) NOT NULL,
  `add_note` tinyint(1) NOT NULL,
  `update_note` tinyint(1) NOT NULL,
  `update_note_staff` tinyint(1) NOT NULL,
  `delete_note` tinyint(1) NOT NULL,
  `delete_note_staff` tinyint(1) NOT NULL,
  `export_tickets` tinyint(1) NOT NULL,
  UNIQUE KEY `GroupId` (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_kb_categories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `parent_id` int(11) NOT NULL,
  `thumb` varchar(64) NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` text NOT NULL,
  `meta_description` text NOT NULL,
  `meta_keywords` text NOT NULL,
  `private` tinyint(1) NOT NULL,
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_kb_content` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `text` text NOT NULL,
  `category_id` int(11) NOT NULL,
  `meta_description` text NOT NULL,
  `meta_keywords` text NOT NULL,
  `private` tinyint(1) NOT NULL,
  `from_ticket_id` int(11) NOT NULL,
  `hits` int(10) unsigned NOT NULL DEFAULT '0',
  `created` datetime NOT NULL,
  `modified` datetime NOT NULL,
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `category_id` (`category_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_kb_rules` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `category_id` int(11) NOT NULL,
  `conditions` text NOT NULL,
  `publish_article` tinyint(1) NOT NULL,
  `private` tinyint(1) NOT NULL,
  `published` tinyint(1) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_priorities` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `bg_color` varchar(7) NOT NULL,
  `fg_color` varchar(7) NOT NULL,
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_searches` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `params` text NOT NULL,
  `default` tinyint(1) NOT NULL DEFAULT '0',
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  UNIQUE KEY `id` (`id`),
  KEY `user_id` (`user_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_staff` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `group_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `priority_id` int(11) NOT NULL,
  `signature` text NOT NULL,
  `exclude_auto_assign` tinyint(1) NOT NULL DEFAULT '0',
  `can_delete_time_history` tinyint(1) NOT NULL DEFAULT '0',
  `can_delete_own_time_history` tinyint(1) NOT NULL DEFAULT '0',
  UNIQUE KEY `id` (`id`),
  KEY `group_id` (`group_id`,`user_id`),
  KEY `priority_id` (`priority_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_staff_to_department` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL,
  `department_id` int(11) NOT NULL,
  UNIQUE KEY `id` (`id`),
  KEY `department_id` (`department_id`),
  KEY `user_id` (`user_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_statuses` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `published` tinyint(1) NOT NULL,
  `ordering` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_tickets` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `department_id` int(11) NOT NULL,
  `staff_id` int(11) NOT NULL,
  `customer_id` int(11) NOT NULL,
  `code` varchar(255) NOT NULL,
  `subject` varchar(255) NOT NULL,
  `status_id` int(11) NOT NULL,
  `priority_id` int(11) NOT NULL,
  `date` datetime NOT NULL,
  `alternative_email` varchar(255) NOT NULL,
  `last_reply` datetime NOT NULL,
  `last_reply_customer` tinyint(1) NOT NULL,
  `replies` int(11) NOT NULL,
  `autoclose_sent` int(11) NOT NULL DEFAULT '0',
  `closed` datetime NOT NULL,
  `flagged` tinyint(1) NOT NULL DEFAULT '0',
  `agent` text NOT NULL,
  `referer` text NOT NULL,
  `ip` varchar(16) NOT NULL,
  `logged` tinyint(1) NOT NULL,
  `feedback` tinyint(1) NOT NULL,
  `followup_sent` tinyint(1) NOT NULL DEFAULT '0',
  `has_files` tinyint(1) unsigned NOT NULL,
  `time_spent` decimal(10,2) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `department_id` (`department_id`),
  KEY `staff_id` (`staff_id`),
  KEY `customer_id` (`customer_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_ticket_files` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ticket_id` int(11) NOT NULL,
  `ticket_message_id` int(11) NOT NULL,
  `filename` varchar(255) NOT NULL,
  `downloads` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_ticket_history` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ticket_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `ip` varchar(16) NOT NULL,
  `date` datetime NOT NULL,
  `type` varchar(64) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_ticket_messages` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ticket_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `message` text NOT NULL,
  `date` datetime NOT NULL,
  `html` tinyint(1) NOT NULL,
  `submitted_by_staff` int(11) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ticket_id` (`ticket_id`),
  KEY `user_id` (`user_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_timespent` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `staff_id` int(11) NOT NULL,
  `ticket_id` int(11) NOT NULL,
  `start` datetime NOT NULL,
  `end` datetime NOT NULL,
   PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_ticket_notes` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `ticket_id` int(11) NOT NULL,
  `user_id` int(11) NOT NULL,
  `text` text NOT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY (`id`),
  KEY `ticket_id` (`ticket_id`),
  KEY `user_id` (`user_id`)
) DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `#__rsticketspro_tokens` (
  `user_id` int(11) NOT NULL,
  `token` varchar(100) NOT NULL,
  PRIMARY KEY  (`user_id`)
) DEFAULT CHARSET=utf8;

INSERT IGNORE INTO `#__rsticketspro_configuration` (`name`, `value`)
VALUES
('global_register_code', ''),
('date_format', 'd.m.Y H:i:s'),
('date_format_notime', 'd.m.Y'),
('rsticketspro_link', '1'),
('allow_rich_editor', '1'),
('allow_rich_editor_buttons', '1'),
('global_message', ''),
('submit_message', ''),
('ticket_view', 'accordion'),
('rsticketspro_add_tickets', '1'),
('show_ticket_info', '1'),
('show_user_info', 'name'),
('show_ticket_voting', '1'),
('allow_ticket_closing', '1'),
('allow_ticket_reopening', '1'),
('ticket_viewing_history', '1'),
('avatars', ''),
('captcha_enabled', '1'),
('captcha_enabled_for',
'unregistered,customers,staff'),
('captcha_characters', '5'),
('captcha_case_sensitive', '0'),
('email_use_global', '1'),
('email_address', 'your@email.com'),
('email_address_fullname', 'Customer Support'),
('reply_above', 'Please reply above this line'),
('use_reply_above', '1'),
('autoclose_enabled', '1'),
('autoclose_automatically', '0'),
('autoclose_cron_lastcheck', '0'),
('autoclose_cron_interval', '10'),
('autoclose_email_interval', '1'),
('autoclose_interval', '1'),
('followup_interval', '1'),
('enable_followup', '0'),
('followup_enabled_time', '0'),
('followup_cron_lastcheck', '0'),
('followup_cron_interval', '10'),
('show_email_link', '1'),
('messages_direction', 'DESC'),
('color_whole_ticket', '0'),
('submit_redirect', ''),
('staff_force_departments', '0'),
('kb_template_body',
'<div>\r\n<h2>{ticket_subject}</h2>\r\n<p><strong>Department:</strong>
{ticket_department}</p>\r\n<p><strong>Date:</strong>
{ticket_date}</p>\r\n{ticket_messages}</div>'),
('kb_template_ticket_body', '<div
class="ticket_message">\r\n<p><strong>{message_date}</strong></p>\r\n<p><strong
class="message_user">{message_user}:</strong></p>\r\n<div
class="message_text">{message_text}</div>\r\n</div>'),
('kb_hot_hits', '200'),
('notice_email_address', ''),
('notice_max_replies_nr', '0'),
('notice_not_allowed_keywords', ''),
('notice_replies_with_no_response_nr', '0'),
('kb_comments', '0'),
('show_kb_search', '1'),
('show_signature', '1'),
('allow_predefined_subjects', '0'),
('customer_itemid', ''),
('staff_itemid', ''),
('enable_time_spent', '1'),
('time_spent_unit', 'h'),
('calculate_itemids', '1'),
('allow_password_change', '0'),
('emails_as_usernames', '0'),
('user_type', '2'),
('admin_groups', '6,7,8'),
('kb_load_plugin', '0'),
('bootstrap', '1'),
('jquery', '1'),
('use_magnific_popup', '0'),
('recaptcha_new_site_key', ''),
('recaptcha_new_secret_key', ''),
('recaptcha_new_theme', 'light'),
('recaptcha_new_type', 'image'),
('store_ip', '1'),
('store_user_agent', '1'),
('allow_self_anonymisation', '0'),
('anonymise_joomla_data', '1'),
('forms_consent', '1'),
('show_alternative_email', '0'),
('show_reply_as_customer', '1'),
('time_spent_type', 'input'),
('export_limit', '100'),
('blocklist', '');

INSERT IGNORE INTO `#__rsticketspro_emails` (`lang`, `type`, `subject`,
`message`) VALUES
('en-GB', 'add_ticket_customer', '',
'<p>Hello {customer_name},</p>\r\n<p>Thank you for
contacting us. One of our staff members will attend to your problem as soon
as possible.<br />You can view your ticket here:<br /><a
href="{ticket}">{code}</a></p>'),
('en-GB', 'add_ticket_staff', '',
'<p>Hello,</p>\r\n<p>A new ticket requires your
attention:</p>\r\n<p><a
href="{ticket}">{code}</a></p>\r\n<p>{customer_email}
wrote:</p>\r\n<p>{message}</p>\r\n<p>{custom_fields}</p>'),
('en-GB', 'add_ticket_reply_customer', '',
'<p>Hello {customer_name}.</p>\r\n<p>You have a new
message from {staff_name}.<br />Re: {subject}<br />Message:
{message}<br /><br />You can view your ticket here:<br
/><a href="{ticket}">{code}</a></p>'),
('en-GB', 'add_ticket_reply_staff', '',
'<p>Hello {staff_name}.</p>\r\n<p>You have a new
message from  {customer_name}.<br /> Re: {subject}<br />
Message: {message}<br /> <br /> You can view the ticket
here:<br /> <a
href="{ticket}">{code}</a></p>'),
('en-GB', 'notification_email', 'Your ticket will
be closed', '<p>Your ticket with subject
"{subject}" had no activity for {inactive_interval}
days.</p>\r\n<p>It will be automatically closed in
{close_interval} days if no additional action is
performed.</p>\r\n<p>Please log in to <br /><br />
<a href="{live_site}index.php?option=com_rsticketspro">Our
Support Center</a> <br /><br /> and go to <a
href="{live_site}index.php?option=com_rsticketspro">My
Tickets</a> in order to view the status of your support
request.</p>'),
('en-GB', 'reject_email', 'Re: {subject}',
'<p>Hello {customer_name},<br /><br />Unfortunately
your email for department {department} could not be processed. Only
registered users can submit tickets by email.<br />We are sorry for
the inconvenience. You can visit <a href="{live_site}">our
website</a> instead.</p>'),
('en-GB', 'add_ticket_notify', '',
'<p>Hello,</p>\r\n<p>A new ticket has been
added:</p>\r\n<p><a
href="{ticket}">{code}</a></p>\r\n<p>{customer_email}
wrote:</p>\r\n<p>{message}</p>\r\n<p>{custom_fields}</p>'),
('en-GB', 'new_user_email', 'New user
details', '<p>Here are your login
details:</p>\r\n<p>Username:
<strong>{username}</strong></p>\r\n<p>Password:
<strong>{password}</strong></p>\r\n<p>Please note
that this is your temporary password. You can login and change it at any
time.</p>\r\n<p> Please log in to <br/><br/>\r\n 
<a href="{live_site}index.php?option=com_rsticketspro">Our
Support Center</a> <br/><br/>\r\n  and go to <a
href="{live_site}">My Tickets</a> in order to view the
status of your support request.</p>'),
('en-GB', 'notification_max_replies_nr', '{code}
This unassigned ticket has received too many replies', 'The
ticket <a href="{ticket}">{code}</a> has received
{replies} replies without a staff member being assigned to
it.\r\n<p><u>Customer
Information</u></p>\r\n<p>Name:
{customer_name}</p>\r\n<p>Username:
{customer_username}</p>\r\n<p>Email:
{customer_email}</p>\r\n\r\n<p><u>Staff
Information</u></p>\r\n<p>Unassigned</p>\r\n\r\n<p><u>Ticket
Information</u></p>\r\n<p>Subject:
{subject}</p>\r\n<p>Message:<br
/>{message}</p>'),
('en-GB', 'notification_replies_with_no_response_nr',
'{code} This ticket has received too many replies', 'The
ticket <a href="{ticket}">{code}</a> has received
{replies} replies without any response from the designated staff
member.\r\n<p><u>Customer
Information</u></p>\r\n<p>Name:
{customer_name}</p>\r\n<p>Username:
{customer_username}</p>\r\n<p>Email:
{customer_email}</p>\r\n\r\n<p><u>Staff
Information</u></p>\r\n<p>Name:
{staff_name}</p>\r\n<p>Username:
{staff_username}</p>\r\n<p>Email:
{staff_email}</p>\r\n\r\n<p><u>Ticket
Information</u></p>\r\n<p>Subject:
{subject}</p>\r\n<p>Message:<br
/>{message}</p>'),
('en-GB', 'notification_not_allowed_keywords',
'This ticket contains a keyword', 'The ticket <a
href="{ticket}">{code}</a> contains a
keyword.\r\n<p><u>Customer
Information</u></p>\r\n<p>Name:
{customer_name}</p>\r\n<p>Username:
{customer_username}</p>\r\n<p>Email:
{customer_email}</p>\r\n\r\n<p><u>Staff
Information</u></p>\r\n<p>Name:
{staff_name}</p>\r\n<p>Username:
{staff_username}</p>\r\n<p>Email:
{staff_email}</p>\r\n\r\n<p><u>Ticket
Information</u></p>\r\n<p>Subject:
{subject}</p>\r\n<p>Message:<br
/>{message}</p>'),
('en-GB', 'notification_department_change',
'Department changed', 'The ticket <a
href="{ticket}">{code}</a> had the department changed
from {department_from} to {department_to}'),
('en-GB', 'feedback_followup_email', 'How would
you rate the help you received?', '<p>The ticket <a
href="{ticket}">{code}</a> regarding
"{subject}" has been closed.</p>\r\n<p>Did we help
you solve your problem?</p>\r\n<p><a
href="{yes}">Yes, my problem has been
solved.</a></p>\r\n<p><a
href="{no}">No.</a></p>\r\n<p>Your feedback
helps us improve our services!</p>');

INSERT IGNORE INTO `#__rsticketspro_priorities` (`id`, `name`, `bg_color`,
`fg_color`, `published`, `ordering`) VALUES
(1, 'low', '', '', 1, 1),
(2, 'normal', '', '', 1, 2),
(3, 'high', '', '', 1, 3);

INSERT IGNORE INTO `#__rsticketspro_statuses` (`id`, `name`, `published`,
`ordering`) VALUES
(1, 'open', 1, 1),
(2, 'closed', 1, 3),
(3, 'on-hold', 1,
2);sql/sample.sql000064400000006034151165644030007355 0ustar00INSERT IGNORE
INTO `#__rsticketspro_departments` (`id`, `name`, `prefix`,
`assignment_type`, `generation_rule`, `next_number`, `email_address`,
`email_address_fullname`, `email_use_global`, `customer_send_email`,
`customer_send_copy_email`, `customer_attach_email`, `staff_send_email`,
`staff_attach_email`, `upload`, `upload_extensions`, `upload_size`,
`upload_files`, `notify_new_tickets_to`, `notify_assign`, `priority_id`,
`cc`, `bcc`, `predefined_subjects`, `published`, `ordering`) VALUES(1,
'Billing', 'BILLING', 1, 0, 1, '',
'', 1, 1, 1, 1, 1, 1, 0, '', '0.00', 0,
'', 1, 1, '', '', '', 1, 1);
INSERT IGNORE INTO `#__rsticketspro_departments` (`id`, `name`, `prefix`,
`assignment_type`, `generation_rule`, `next_number`, `email_address`,
`email_address_fullname`, `email_use_global`, `customer_send_email`,
`customer_send_copy_email`, `customer_attach_email`, `staff_send_email`,
`staff_attach_email`, `upload`, `upload_extensions`, `upload_size`,
`upload_files`, `notify_new_tickets_to`, `notify_assign`, `priority_id`,
`cc`, `bcc`, `predefined_subjects`, `published`, `ordering`) VALUES(2,
'Licensing', 'LICENSE', 1, 0, 1, '',
'', 1, 1, 1, 1, 1, 1, 0, '', '0.00', 0,
'', 1, 3, '', '', '', 1, 3);
INSERT IGNORE INTO `#__rsticketspro_departments` (`id`, `name`, `prefix`,
`assignment_type`, `generation_rule`, `next_number`, `email_address`,
`email_address_fullname`, `email_use_global`, `customer_send_email`,
`customer_send_copy_email`, `customer_attach_email`, `staff_send_email`,
`staff_attach_email`, `upload`, `upload_extensions`, `upload_size`,
`upload_files`, `notify_new_tickets_to`, `notify_assign`, `priority_id`,
`cc`, `bcc`, `predefined_subjects`, `published`, `ordering`) VALUES(3,
'Tech Support', 'TECH', 1, 0, 1, '',
'', 1, 1, 1, 1, 1, 1, 1, 'zip\r\njpg',
'0.00', 0, '', 1, 1, '', '',
'', 1, 2);
INSERT IGNORE INTO `#__rsticketspro_departments` (`id`, `name`, `prefix`,
`assignment_type`, `generation_rule`, `next_number`, `email_address`,
`email_address_fullname`, `email_use_global`, `customer_send_email`,
`customer_send_copy_email`, `customer_attach_email`, `staff_send_email`,
`staff_attach_email`, `upload`, `upload_extensions`, `upload_size`,
`upload_files`, `notify_new_tickets_to`, `notify_assign`, `priority_id`,
`cc`, `bcc`, `predefined_subjects`, `published`, `ordering`) VALUES(4,
'Pre Sales', 'PRE', 0, 1, 1, '',
'', 1, 1, 1, 1, 1, 1, 0, '', '0.00', 0,
'', 0, 1, '', '', '', 1, 4);

INSERT IGNORE INTO `#__rsticketspro_groups` (`id`, `name`, `add_ticket`,
`add_ticket_customers`, `add_ticket_staff`, `update_ticket`,
`update_ticket_custom_fields`, `delete_ticket`, `answer_ticket`,
`update_ticket_replies`, `update_ticket_replies_customers`,
`update_ticket_replies_staff`, `delete_ticket_replies_customers`,
`delete_ticket_replies_staff`, `delete_ticket_replies`, `assign_tickets`,
`change_ticket_status`, `see_unassigned_tickets`, `see_other_tickets`,
`move_ticket`, `view_notes`, `add_note`, `update_note`,
`update_note_staff`, `delete_note`, `delete_note_staff`) VALUES(1,
'Staff', 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1);sql/uninstall.sql000064400000001270151165644030010102
0ustar00DROP TABLE IF EXISTS `#__rsticketspro_accounts`,
`#__rsticketspro_accounts_log`, `#__rsticketspro_configuration`,
`#__rsticketspro_custom_fields`, `#__rsticketspro_custom_fields_values`,
`#__rsticketspro_departments`, `#__rsticketspro_emails`,
`#__rsticketspro_groups`, `#__rsticketspro_kb_categories`,
`#__rsticketspro_kb_content`, `#__rsticketspro_kb_rules`,
`#__rsticketspro_priorities`, `#__rsticketspro_searches`,
`#__rsticketspro_staff`, `#__rsticketspro_staff_to_department`,
`#__rsticketspro_statuses`, `#__rsticketspro_tickets`,
`#__rsticketspro_ticket_files`, `#__rsticketspro_ticket_history`,
`#__rsticketspro_ticket_messages`, `#__rsticketspro_ticket_notes`,
`#__rsticketspro_tokens`;tables/customfields.php000064400000004434151165644030011242
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableCustomfields extends JTable
{
	public $id;
	public $department_id;
	public $name;
	public $label;
	public $type;
	public $values;
	public $additional;
	public $validation;
	public $required;
	public $description;
	public $published;
	public $ordering;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_custom_fields',
'id', $db);
	}
	
	public function check()
	{
		try
		{
			if (in_array($this->type, array('select',
'multipleselect', 'checkbox', 'radio'))
&& !strlen($this->values))
			{
				throw new
Exception(JText::_('RST_CUSTOM_FIELD_VALUES_ERROR'));
			}

			// this needs to be filtered
			if (strlen($this->name))
			{
				$this->name = JFilterOutput::stringURLSafe($this->name);
			}

			// check if there's a custom field with the same name
			$db = $this->getDbo();
			$query = $db->getQuery(true);
			$query->select($db->qn('id'))
				->from('#__rsticketspro_custom_fields')
				->where($db->qn('name').'='.$db->q($this->name))
				->where($db->qn('department_id').'='.$db->q($this->department_id));

			if ($this->id)
			{
				$query->where($db->qn('id').'!='.$db->q($this->id));
			}

			$db->setQuery($query);
			if ($db->loadResult())
			{
				throw new
Exception(JText::sprintf('RST_CUSTOM_FIELD_UNIQUE_NAME_ERROR',
$this->name));
			}

			if (!$this->id && !$this->ordering)
			{
				$this->ordering =
$this->getNextOrder($db->qn('department_id') . ' =
' . $db->q($this->department_id));
			}
		}
		catch (Exception $e)
		{
			$this->setError($e->getMessage());
			return false;
		}
		
		return true;
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db = $this->getDbo();
			$query = $db->getQuery(true);
			
			// delete all values pertaining to this custom field
			$query->delete('#__rsticketspro_custom_fields_values')
				 
->where($db->qn('custom_field_id').'='.$db->q($pk));
			$db->setQuery($query)->execute();
		}
		
		return $deleted;
	}
}tables/customfieldsvalues.php000064400000001403151165644030012453
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableCustomfieldsvalues extends JTable
{
	public $id = null;
	public $custom_field_id = 0;
	public $ticket_id = 0;
	public $value = '';
	
	public function bind($src, $ignore = array())
	{
		if (isset($src['value']) &&
is_array($src['value']))
		{
			$src['value'] = implode("\n",
$src['value']);
		}
		return parent::bind($src, $ignore);
	}
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_custom_fields_values',
'id', $db);
	}
}tables/departments.php000064400000011444151165644030011066
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableDepartments extends JTable
{
	public $id = null;
	
	public $name = '';
	public $prefix = '';
	public $assignment_type = 1; // 0 - static, 1 - auto
	public $generation_rule = 1; // 0 - sequential, 1 - random
	public $next_number = 1;
	public $email_use_global = 1;
	public $email_address = '';
	public $email_address_fullname = '';
	public $customer_send_email = 1; // 0 - no, 1 - yes
	public $customer_send_copy_email = 1; // 0 - no, 1 - yes
	public $customer_attach_email = 1;
	public $staff_send_email = 1; // 0 - no, 1 - yes
	public $staff_attach_email = 1;
	public $upload = 1; // 0 - no, 1 - yes, 2 - registered
	public $upload_extensions = 'zip';
	public $upload_size = 0;
	public $upload_files = 0;
	public $download_type = 'attachment';
	public $notify_new_tickets_to = '';
	public $notify_assign = 0; // 0 - no, 1 - yes
	public $priority_id = 0;
	public $cc = '';
	public $bcc = '';
	public $predefined_subjects = '';
	public $jgroups = '';

	public $published = 1;
	public $ordering = null;

	protected $_jsonEncode = array('jgroups');
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_departments',
'id', $db);
	}
	
	public function check()
	{
		try
		{
			$db 	= $this->getDbo();
			$query 	= $db->getQuery(true);

			// this needs to be in uppercase
			$this->prefix = strtoupper($this->prefix);

			// need to make sure the prefix is unique
			$query->select($db->qn('id'))
				->from('#__rsticketspro_departments')
				->where($db->qn('prefix').'='.$db->q($this->prefix));

			if ($this->id)
			{
				$query->where($db->qn('id').'!='.$db->q($this->id));
			}

			$db->setQuery($query);
			if ($db->loadResult())
			{
				throw new
Exception(JText::sprintf('RST_DEPARTMENT_UNIQUE_PREFIX_ERROR',
$this->prefix));
			}

			if (!$this->email_use_global)
			{
				if (!strlen($this->email_address))
				{
					throw new
Exception(JText::_('RST_DEPARTMENT_FROM_EMAIL_ERROR'));
				}

				if (!strlen($this->email_address_fullname))
				{
					throw new
Exception(JText::_('RST_DEPARTMENT_FROM_NAME_ERROR'));
				}
			}

			if (!$this->id && !$this->ordering)
			{
				$this->ordering = $this->getNextOrder();
			}
		}
		catch (Exception $e)
		{
			$this->setError($e->getMessage());
			return false;
		}
		
		return true;
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db = $this->getDbo();
			$query = $db->getQuery(true);
			
			// do we have any custom fields that we need to delete?
			$query->select($db->qn('id'))
				  ->from('#__rsticketspro_custom_fields')
				 
->where($db->qn('department_id').'='.$db->q($pk));
			$db->setQuery($query);
			if ($custom_field_ids = $db->loadColumn())
			{
				// delete values
				$query->clear();
				$query->delete('#__rsticketspro_custom_fields_values')
					  ->where($db->qn('custom_field_id').' IN
('.implode(',', $custom_field_ids).')');
				$db->setQuery($query)->execute();
				
				// delete custom fields
				$query->clear();
				$query->delete('#__rsticketspro_custom_fields')
					  ->where($db->qn('id').' IN
('.implode(',', $custom_field_ids).')');
				$db->setQuery($query)->execute();
			}
			
			// remove the department from existing staff members
			$query->clear();
			$query->delete('#__rsticketspro_staff_to_department')
				 
->where($db->qn('department_id').'='.$db->q($pk));
			$db->setQuery($query)->execute();
			
			// create the subquery that gets all tickets belonging to this
department
			$subquery = $db->getQuery(true);
			$subquery->select($db->qn('id'))
					 ->from('#__rsticketspro_tickets')
					
->where($db->qn('department_id').'='.$db->q($pk));
			
			// delete messages			
			$query->clear();
			$query->delete('#__rsticketspro_ticket_messages')
				  ->where($db->qn('ticket_id').' IN
('.(string) $subquery.')');
			$db->setQuery($query)->execute();
			
			// delete notes 
			$query->clear();
			$query->delete('#__rsticketspro_ticket_notes')
				  ->where($db->qn('ticket_id').' IN
('.(string) $subquery.')');
			$db->setQuery($query)->execute();
			
			// delete files
			$query->clear();
			$query->delete('#__rsticketspro_ticket_files')
				  ->where($db->qn('ticket_id').' IN
('.(string) $subquery.')');
			$db->setQuery($query)->execute();
			
			// delete tickets
			$query->clear();
			$query->delete('#__rsticketspro_tickets')
				 
->where($db->qn('department_id').'='.$db->q($pk));
			$db->setQuery($query)->execute();
		}
		
		return $deleted;
	}
}tables/emails.php000064400000001041151165644030010002 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableEmails extends JTable
{
	public $id = null;
	public $lang = null;
	public $type = '';
	public $subject = '';
	public $message = '';
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_emails', 'id',
$db);
	}
}tables/groups.php000064400000004263151165644030010060 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableGroups extends JTable
{
	public $id = null;
	
	public $name = '';
	public $add_ticket = 1;
	public $add_ticket_customers = 1;
	public $add_ticket_staff = 1;
	public $update_ticket = 1;
	public $update_ticket_custom_fields = 1;
	public $delete_ticket = 1;
	public $answer_ticket = 1;
	public $update_ticket_replies = 1;
	public $update_ticket_replies_customers = 1;
	public $update_ticket_replies_staff = 1;
	public $delete_ticket_replies = 1;
	public $delete_ticket_replies_customers = 1;
	public $delete_ticket_replies_staff = 1;
	public $assign_tickets = 1;
	public $change_ticket_status = 1;
	public $see_unassigned_tickets = 1;
	public $see_other_tickets = 1;
	public $move_ticket = 1;
	public $view_notes = 1;
	public $add_note = 1;
	public $update_note = 1;
	public $update_note_staff = 1;
	public $delete_note = 1;
	public $delete_note_staff = 1;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_groups', 'id',
$db);
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db 	= $this->getDbo();
			$query 	= $db->getQuery(true);
			
			$query->select($db->qn('user_id'))
				  ->from('#__rsticketspro_staff')
				  ->where($db->qn('group_id') . '=' .
$db->q($pk));

			if ($users = $db->setQuery($query)->loadColumn())
			{
				$query->clear();
				// set tickets to "unassigned" since we've removed the
staff members
				$query->update('#__rsticketspro_tickets')
					  ->set($db->qn('staff_id') . '=' .
$db->q(0))
					  ->where($db->qn('staff_id') . ' IN (' .
implode(',', $users) . ')');
				$db->setQuery($query)->execute();
				
				$query->clear();
				// delete staff members belonging to this group
				$query->delete('#__rsticketspro_staff')
					  ->where($db->qn('group_id') . '=' .
$db->q($pk));
				$db->setQuery($query)->execute();
			}
		}

		return $deleted;
	}
}tables/index.html000064400000000054151165644030010017
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>tables/kbcategories.php000064400000006246151165644030011206
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableKbcategories extends JTable
{
	public $id = null;
	
	public $parent_id = 0; // 0 - no parent
	public $thumb = '';
	public $name = null;
	public $description = null;
	public $meta_description = null;
	public $meta_keywords = null;
	public $private = null;
	public $published = 1;
	public $ordering = null;
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_kb_categories',
'id', $db);
	}
	
	public function check()
	{
		try
		{
			$db = $this->getDbo();

			if ($this->id)
			{
				// let's see if the current parent is different
				if ($this->parent_id == $this->id)
				{
					throw new
Exception(JText::_('RST_KB_CATEGORY_PARENT_SAME_ERROR'));
				}

				// let's see if we are trying to use a child as a parent
				if ($this->parent_id)
				{
					$query 	= $db->getQuery(true);
					$id 	= $this->parent_id;

					// get all the parents of the selected parent and see if they match
our own id
					while ($id)
					{
						$query->select($db->qn('parent_id'))
							->from($db->qn('#__rsticketspro_kb_categories'))
							->where($db->qn('id') . '=' .
$db->q($id));
						$db->setQuery($query);
						$id = $db->loadResult();
						$query->clear();

						if ($id == $this->id)
						{
							throw new
Exception(JText::_('RST_KB_CATEGORY_PARENT_CHILD_ERROR'));
						}
					}
				}
			}

			if (!$this->id && !$this->ordering)
			{
				$this->ordering =
$this->getNextOrder($db->qn('parent_id') . ' = '
. $db->q($this->parent_id));
			}
		}
		catch (Exception $e)
		{
			$this->setError($e->getMessage());
			return false;
		}
		
		return true;
	}
	
	public function deleteThumb()
	{
		if ($this->id && $this->thumb)
		{
			if
(file_exists(RST_CATEGORY_THUMB_FOLDER.'/'.$this->thumb))
			{
				JFile::delete(RST_CATEGORY_THUMB_FOLDER.'/'.$this->thumb);
			}
			if
(file_exists(RST_CATEGORY_THUMB_FOLDER.'/small/'.$this->thumb))
			{
				JFile::delete(RST_CATEGORY_THUMB_FOLDER.'/small/'.$this->thumb);
			}
			
			return true;
		}
		
		return false;
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);

		if ($deleted)
		{
			$this->deleteThumb();
			
			$db 	= $this->getDbo();
			$query 	= $db->getQuery(true);
			
			// all categories that have this category as parent will be moved to
"No Parent (Top Category)"
			$query->update('#__rsticketspro_kb_categories')
				  ->set($db->qn('parent_id') . '=' .
$db->q(0))
				  ->where($db->qn('parent_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();
			
			// all articles that have this category as parent will be moved to
"No Parent (Top Category)"
			$query->clear();
			$query->update('#__rsticketspro_kb_content')
				  ->set($db->qn('category_id') . '=' .
$db->q(0))
				  ->where($db->qn('category_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();
		}
		
		return $deleted;
	}
}tables/kbcontent.php000064400000002310151165644030010517 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableKbcontent extends JTable
{
	public $id = null;
	public $name = '';
	public $text = '';
	public $category_id = 0; // 0 - uncategorised
	public $meta_description = '';
	public $meta_keywords = '';
	public $private = 0;
	public $from_ticket_id = 0;
	public $hits = 0;
	public $created = null;
	public $modified = null;
	public $published = null;
	public $ordering = null;
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_kb_content',
'id', $db);
	}

	public function check()
	{
		$db = $this->getDbo();

		if (!$this->id && !$this->ordering)
		{
			$this->ordering =
$this->getNextOrder($db->qn('category_id') . ' =
' . $db->q($this->category_id));
		}

		if (!$this->id)
		{
			$this->created = JFactory::getDate()->toSql();
			$this->modified = $db->getNullDate();
		}
		else
		{
			$this->modified = JFactory::getDate()->toSql();
		}

		return true;
	}
}tables/kbrules.php000064400000005020151165644030010200 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableKbrules extends JTable
{
	public $id = null;
	
	public $name = '';
	public $category_id = 0;
	public $conditions = '';
	public $publish_article = 1;
	public $private = 0;
	
	public $published = 1;
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_kb_rules', 'id',
$db);
	}
	
	public function bind($src, $ignore = array())
	{
		if (!isset($src['conditions']))
		{
			$src['conditions'] = array();
			if (isset($src['select_type']))
			{
				$j = 0;
				foreach ($src['select_type'] as $i => $type)
				{
					$condition = (object) array(
						'type' => $type,
						'condition' =>
isset($src['select_condition'][$i]) ?
$src['select_condition'][$i] : '',
						'custom_field' => $type == 'custom_field'
&& isset($src['select_custom_field_value'][$j]) ?
$src['select_custom_field_value'][$j] : '',
						'value' => isset($src['select_value'][$i]) ?
$src['select_value'][$i] : '',
						'connector' =>
isset($src['select_connector'][$i]) ?
$src['select_connector'][$i] : ''
					);
					
					$src['conditions'][] = $condition;
					if ($type == 'custom_field')
					{
						$j++;
					}
				}
			}
			
			$src['conditions'] = serialize($src['conditions']);
		}
		
		return parent::bind($src, $ignore);
	}

	public function check()
	{
		try
		{
			if (is_string($this->conditions))
			{
				$conditions = unserialize($this->conditions);

				if (empty($conditions))
				{
					throw new
Exception(JText::_('RST_KB_RULE_NO_CONDITION_ERROR'));
				}

				foreach ($conditions as $condition)
				{
					if (empty($condition->type))
					{
						throw new
Exception(JText::_('RST_KB_RULE_SELECT_TYPE_ERROR'));
					}

					if (empty($condition->condition))
					{
						throw new
Exception(JText::_('RST_KB_RULE_SELECT_CONDITION_ERROR'));
					}

					if (empty($condition->value))
					{
						throw new
Exception(JText::_('RST_KB_RULE_SELECT_VALUE_ERROR'));
					}

					if ($condition->type === 'custom_field' &&
empty($condition->custom_field))
					{
						throw new
Exception(JText::_('RST_KB_RULE_SELECT_CUSTOM_FIELD_ERROR'));
					}
				}
			}
		}
		catch (Exception $e)
		{
			$this->setError($e->getMessage());
			return false;
		}

		return true;
	}
}tables/priorities.php000064400000002640151165644030010727
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTablePriorities extends JTable
{
	public $id = null;
	
	public $name = '';
	public $bg_color = '';
	public $fg_color = '';
	
	public $published = 1;
	public $ordering = null;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_priorities',
'id', $db);
	}

	public function check()
	{
		if (!$this->id && !$this->ordering)
		{
			$this->ordering = $this->getNextOrder();
		}

		return true;
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db = $this->getDbo();
			$query = $db->getQuery(true);
			
			$query->select($db->qn('id'))
				  ->from('#__rsticketspro_priorities')
				  ->where($db->qn('published') . '=' .
$db->q(1));
			if ($priority_id = $db->setQuery($query)->loadResult())
			{
				$query->clear();
				// update all tickets with the next available priority
				$query->update('#__rsticketspro_tickets')
					  ->set($db->qn('priority_id') . '=' .
$db->q($priority_id))
					  ->where($db->qn('priority_id') . '=' .
$db->q($pk));
				$db->setQuery($query)->execute();
			}
		}
		
		return $deleted;
	}
}tables/searches.php000064400000004231151165644030010331 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableSearches extends JTable
{
	public $id = null;
	
	public $user_id = null;
	public $name = null;
	public $params = null;
	public $default = null;
	
	public $published = 1;
	public $ordering = null;
	
	public function check()
	{
		if (!$this->id)
		{
			$db = JFactory::getDbo();
			$this->ordering =
$this->getNextOrder($db->qn('user_id') . '=' .
$db->q(JFactory::getUser()->id));
		}
		
		return true;
	}
	
	public function bind($src, $ignore = array())
	{
		if (isset($src['params']) &&
is_array($src['params']))
		{
			$src['params'] =
base64_encode(serialize($src['params']));
		}
		return parent::bind($src, $ignore);
	}
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_searches', 'id',
$db);
	}
	
	public function load($keys = null, $reset = true)
	{
		$loaded = parent::load($keys, $reset);
		
		if ($loaded)
		{
			// base64 encoded & serialized
			if (is_string($this->params))
			{
				$params = @unserialize(base64_decode($this->params));
				if (!$params)
				{
					$params = array();
				}
			}
			else
			{
				$params = array();
			}
			$this->params = $params;
		}
		
		return $loaded;
	}
	
	public function store($updateNulls = false)
	{
		$result = parent::store($updateNulls);

		if ($result)
		{
			if ($this->default)
			{
				$db 	= $this->getDbo();
				$query  = $db->getQuery(true);
				
				// can't have more than 1 default search
				$query->update('#__rsticketspro_searches')
					 
->set($db->qn('default').'='.$db->q(0))
					 
->where($db->qn('user_id').'='.$db->q($this->user_id))
					 
->where($db->qn('id').'!='.$db->q($this->id));
				$db->setQuery($query)->execute();
			}
		}
		
		return $result;
	}
	
	public function reorder($where = '')
	{
		return parent::reorder($this->_db->qn('user_id') .
'=' . $this->_db->q(JFactory::getUser()->id));
	}
}tables/staff.php000064400000006263151165644030007646 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableStaff extends JTable
{
	public $id = null;
	
	public $group_id = null;
	public $user_id = null;
	public $priority_id = null;
	public $department_id = null;
	
	public $signature = '';
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_staff', 'id',
$db);
	}
	
	public function load($keys = null, $reset = true)
	{
		$loaded = parent::load($keys, $reset);
		
		if ($loaded)
		{
			$db 	= $this->getDbo();
			$query  = $db->getQuery(true);
			
			$query->select($db->qn('department_id'))
				  ->from('#__rsticketspro_staff_to_department')
				 
->where($db->qn('user_id').'='.$db->q($this->user_id));
			
			$db->setQuery($query);
			
			$this->department_id = implode(',', $db->loadColumn());
		}
		
		return $loaded;
	}
	
	public function check()
	{
		try
		{
			if (!$this->user_id)
			{
				throw new Exception(JText::_('RST_STAFF_USER_ERROR'));
			}

			if (empty($this->department_id))
			{
				throw new Exception(JText::_('RST_STAFF_DEPARTMENT_ERROR'));
			}

			$db 	= $this->getDbo();
			$query  = $db->getQuery(true);

			$query->select('id')
				->from('#__rsticketspro_staff')
				->where($db->qn('user_id') . '=' .
$db->q($this->user_id));

			if ($this->id)
			{
				$query->where($db->qn('id') . '!=' .
$db->q($this->id));
			}

			if ($db->setQuery($query)->loadResult())
			{
				throw new Exception(JText::_('RST_STAFF_USER_EXISTS'));
			}
		}
		catch (Exception $e)
		{
			$this->setError($e->getMessage());
			return false;
		}
		
		return true;
	}
	
	public function store($updateNulls = false)
	{
		$result = parent::store($updateNulls);
		if ($result)
		{
			$db 	= $this->getDbo();
			$query  = $db->getQuery(true);
			
			$query->delete('#__rsticketspro_staff_to_department')
				  ->where($db->qn('user_id') . '=' .
$db->q($this->user_id));
			$db->setQuery($query)->execute();
			
			foreach ($this->department_id as $department_id)
			{
				$row = JTable::getInstance('Stafftodepartment',
'RsticketsproTable');
				$row->save(array(
					'id' => null,
					'user_id' => $this->user_id,
					'department_id' => $department_id
				));
			}
		}
		
		return $result;
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db 	= $this->getDbo();
			$query  = $db->getQuery(true);
			
			// remove references from the #__rsticketspro_staff_to_department table
			$query->delete('#__rsticketspro_staff_to_department')
				  ->where($db->qn('user_id') . '=' .
$db->q($this->user_id));
			$db->setQuery($query)->execute();
			
			// unassign all tickets assigned to this staff member
			$query->clear();
			$query->update('#__rsticketspro_tickets')
				  ->set($db->qn('staff_id') . '=' .
$db->q(0))
				  ->where($db->qn('staff_id') . '=' .
$db->q($this->user_id));
			$db->setQuery($query)->execute();
		}
		
		return $deleted;
	}
}tables/stafftodepartment.php000064400000001032151165644030012262
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableStafftodepartment extends JTable
{
	public $id = null;
	
	public $user_id = null;
	public $department_id = null;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_staff_to_department',
'id', $db);
	}
}tables/statuses.php000064400000002150151165644030010405 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableStatuses extends JTable
{
	public $id = null;
	public $name = '';
	public $published = 1;
	public $ordering = null;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_statuses', 'id',
$db);
	}

	public function check()
	{
		if (!$this->id && !$this->ordering)
		{
			$this->ordering = $this->getNextOrder();
		}

		return true;
	}
	
	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db = $this->getDbo();
			$query = $db->getQuery(true);
			
			// update all tickets with this status to "closed"
			$query->update('#__rsticketspro_tickets')
				  ->set($db->qn('status_id') . '=' .
$db->q(2))
				  ->where($db->qn('status_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();
		}
		
		return $deleted;
	}
}tables/ticketfiles.php000064400000001556151165644030011051
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableTicketfiles extends JTable
{
	public $id = null;
	public $ticket_id;
	public $ticket_message_id;
	public $filename;
	public $downloads;

	protected $_columnAlias = array(
		'hits' => 'downloads'
	);
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_ticket_files',
'id', $db);
	}

	public function check()
	{
		if (!$this->id)
		{
			$this->downloads = 0;
		}

		return true;
	}
	
	public function getRealPath()
	{
		$hash = md5($this->id . ' ' . $this->ticket_message_id);
		return RST_UPLOAD_FOLDER . '/' . $hash;
	}
}tables/tickethistory.php000064400000001043151165644030011437
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableTickethistory extends JTable
{
	public $id;
	public $ticket_id;
	public $user_id;
	public $ip;
	public $date;
	public $type;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_ticket_history',
'id', $db);
	}
}tables/ticketmessages.php000064400000004102151165644030011544
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableTicketmessages extends JTable
{
	public $id;
	public $ticket_id;
	public $user_id;
	public $submitted_by_staff = 0;
	public $message;
	public $date;
	public $html;
	
	public function __construct(&$db)
	{
		parent::__construct('#__rsticketspro_ticket_messages',
'id', $db);
	}

	public function check()
	{
		if ($this->id)
		{
			$this->ticket_id = null;
			$this->user_id = null;
			$this->date = null;
			$this->submitted_by_staff = null;
		}

		return true;
	}
	
	public function delete($pk = null)
	{
		$db = $this->getDbo();
		$query = $db->getQuery(true);
		
		$query->select($db->qn('ticket_id'))
			->from($db->qn('#__rsticketspro_ticket_messages'))
			->where($db->qn('id').' = '.$db->q($pk));
		$db->setQuery($query);
		$ticket_id = $db->loadResult();
		
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$query->clear()
				->update('#__rsticketspro_tickets')
				->set($db->qn('replies').' =
'.$db->qn('replies').' - 1')
				->where($db->qn('id').' =
'.$db->q($ticket_id));
			$db->setQuery($query)->execute();
			
			// delete all files
			// physical files
			$query->clear();
			$query->select($db->qn('id'))
				->select($db->qn('ticket_message_id'))
				->from($db->qn('#__rsticketspro_ticket_files'))
				->where($db->qn('ticket_message_id') . '=' .
$db->q($pk));
			$db->setQuery($query);
			if ($files = $db->loadObjectList())
			{
				foreach ($files as $file)
				{
					$hash = md5($file->id . ' ' .
$file->ticket_message_id);
					JFile::delete(RST_UPLOAD_FOLDER . '/' . $hash);
				}
			}
			// from the database
			$query->clear();
			$query->delete('#__rsticketspro_ticket_files')
				->where($db->qn('ticket_message_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();
		}
		
		return $deleted;
	}
}tables/ticketnotes.php000064400000001452151165644030011072
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableTicketnotes extends JTable
{
	public $id;
	public $ticket_id;
	public $user_id;
	public $text;
	public $date;
	
	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_ticket_notes',
'id', $db);
	}

	public function check()
	{
		if (!$this->id)
		{
			$this->date     = JFactory::getDate()->toSql();
			$this->user_id  = JFactory::getUser()->id;
		}
		else
		{
			$this->date	= null;
			$this->user_id = null;
			$this->ticket_id = null;
		}

		return true;
	}
}tables/tickets.php000064400000012242151165644030010203 0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproTableTickets extends JTable
{
	public $id;
	public $department_id;
	public $staff_id;
	public $customer_id;
	public $code;
	public $subject;
	public $status_id;
	public $priority_id;
	public $date;
	public $alternative_email;
	public $last_reply;
	public $last_reply_customer;
	public $replies;
	public $autoclose_sent;
	public $closed;
	public $flagged;
	public $agent;
	public $referer;
	public $ip;
	public $logged;
	public $feedback;
	public $followup_sent;
	public $has_files;
	public $time_spent;

	public function __construct(& $db)
	{
		parent::__construct('#__rsticketspro_tickets', 'id',
$db);
	}

	public function check()
	{
		if (!$this->id)
		{
			$this->closed = JFactory::getDbo()->getNullDate();

			if ($this->alternative_email === null)
			{
				$this->alternative_email = '';
			}

			$this->last_reply_customer = 1;
			$this->replies = 0;
			$this->autoclose_sent = 0;
			$this->flagged = 0;
			$this->feedback = 0;
			$this->has_files = 0;
			$this->time_spent = '0.00';
			$this->followup_sent = 0;
		}

		return true;
	}

	public function delete($pk = null)
	{
		$deleted = parent::delete($pk);
		if ($deleted)
		{
			$db    = $this->getDbo();
			$query = $db->getQuery(true);

			// delete all custom field values
			$query->delete('#__rsticketspro_custom_fields_values')
				->where($db->qn('ticket_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();

			// delete all messages
			$query->clear();
			$query->delete('#__rsticketspro_ticket_messages')
				->where($db->qn('ticket_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();

			// delete all notes
			$query->clear();
			$query->delete('#__rsticketspro_ticket_notes')
				->where($db->qn('ticket_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();

			// delete all history
			$query->clear();
			$query->delete('#__rsticketspro_ticket_history')
				->where($db->qn('ticket_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();

			// delete all files
			// physical files
			$query->clear();
			$query->select($db->qn('id'))
				->select($db->qn('ticket_message_id'))
				->from($db->qn('#__rsticketspro_ticket_files'))
				->where($db->qn('ticket_id') . '=' .
$db->q($pk));
			$db->setQuery($query);
			if ($files = $db->loadObjectList())
			{

				foreach ($files as $file)
				{
					$hash = md5($file->id . ' ' .
$file->ticket_message_id);
					JFile::delete(RST_UPLOAD_FOLDER . '/' . $hash);
				}
			}
			// from the database
			$query->clear();
			$query->delete('#__rsticketspro_ticket_files')
				->where($db->qn('ticket_id') . '=' .
$db->q($pk));
			$db->setQuery($query)->execute();
		}

		return $deleted;
	}

	public function load($keys = null, $reset = true)
	{
		$loaded = parent::load($keys, $reset);

		if ($loaded)
		{
			// load customer
			$this->customer = JFactory::getUser($this->customer_id);

			// load staff
			$this->staff = JFactory::getUser($this->staff_id);

			// load department
			$this->department = $this->getInstance('Departments',
'RsticketsproTable');
			$this->department->load($this->department_id);

			// load status
			$this->status = $this->getInstance('Statuses',
'RsticketsproTable');
			$this->status->load($this->status_id);

			// load priority
			$this->priority = $this->getInstance('Priorities',
'RsticketsproTable');
			$this->priority->load($this->priority_id);

			// get custom fields
			$this->fields = $this->getCustomFields();

			// load number of notes
			$this->notes = $this->getNotesCount();
		}

		return $loaded;
	}

	protected function getCustomFields()
	{
		$db     = $this->getDbo();
		$query  = $db->getQuery(true);
		$return = array();

		// get custom fields
		$query->select('*')
			->from($db->qn('#__rsticketspro_custom_fields'))
			->where($db->qn('department_id') . '=' .
$db->q($this->department_id))
			->where($db->qn('published') . '=' .
$db->q(1))
			->order($db->qn('ordering') . ' ' .
$db->escape('asc'));
		$db->setQuery($query);
		$fields = $db->loadObjectList();

		// get values as well, sort them by custom field ids
		$query->clear();
		$query->select('*')
			->from($db->qn('#__rsticketspro_custom_fields_values'))
			->where($db->qn('ticket_id') . '=' .
$db->q($this->id));
		$db->setQuery($query);
		$values = $db->loadObjectList('custom_field_id');

		foreach ($fields as $field)
		{
			$field->value = '';
			if (isset($values[$field->id]))
			{
				$field->value = $values[$field->id]->value;
			}

			$return[] = $field;
		}

		return $fields;
	}

	protected function getNotesCount()
	{
		$db    = $this->getDbo();
		$query = $db->getQuery(true);

		$query->select('COUNT(' . $db->qn('id') .
')')
			->from($db->qn('#__rsticketspro_ticket_notes'))
			->where($db->qn('ticket_id') . '=' .
$db->q($this->id));
		$db->setQuery($query);

		return $db->loadResult();
	}
}views/configuration/index.html000064400000000054151165644030012551
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/configuration/tmpl/default.php000064400000002716151165644030013674
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('formbehavior.chosen', '.advancedSelect');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=configuration');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();
	?>
	<fieldset class="form-horizontal">
	<?php
	foreach ($this->fieldsets as $name => $fieldset)
	{
		// add the tab title
		$this->tabs->addTitle($fieldset->label, $fieldset->name);
		
		// prepare the content
		$this->fieldset =& $fieldset;
		$this->fields 	= $this->form->getFieldset($fieldset->name);

		switch ($fieldset->name)
        {
            default:
                $content = $this->loadTemplate('fieldset');
                break;

            case 'permissions':
                $content = $this->loadTemplate($fieldset->name);
                break;
        }
		
		// add the tab content
		$this->tabs->addContent($content);
	}
	
	// render tabs
	$this->tabs->render();
	?>
	</fieldset>
	</div>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="option"
value="com_rsticketspro" />
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/configuration/tmpl/default_fieldset.php000064400000001037151165644040015547
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2018 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description))
{
	?>
	<p><?php echo JText::_($this->fieldset->description);
?></p>
<?php
}

foreach ($this->fields as $field)
{
    echo $field->renderField();
}views/configuration/tmpl/default_permissions.php000064400000001070151165644040016320
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
?>
<p><?php echo
JText::_('COM_RSTICKETSPRO_PERMISSIONS_NO_LONGER_HERE');
?></p>
<p><a class="btn btn-primary" href="<?php echo
JRoute::_('index.php?option=com_config&view=component&component=com_rsticketspro');
?>"><?php echo
JText::_('COM_RSTICKETSPRO_GO_TO_GLOBAL_CONFIGURATION');
?></a></p>views/configuration/tmpl/index.html000064400000000054151165644040013526
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/configuration/view.html.php000064400000002752151165644040013212
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewConfiguration extends JViewLegacy
{
	protected $tabs;
	protected $field;
	protected $form;
	protected $fieldsets;
	protected $config;
	protected $sidebar;
	
	public function display($tpl = null)
	{
		$user = JFactory::getUser();

		if (!$user->authorise('core.admin',
'com_rsticketspro')) {
			$app = JFactory::getApplication();
			$app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'),
'error');
			$app->redirect(JRoute::_('index.php?option=com_rsticketspro',
false));
		}
		
		$this->addToolbar();

		$this->tabs		 = $this->get('RSTabs');
		$this->form		 = $this->get('Form');
		$this->fieldsets = $this->form->getFieldsets();

		if (!RSTicketsProHelper::cronPluginExists())
		{
			$this->form->setFieldAttribute('show_alternative_email',
'type', 'hidden');
		}
		
		// config
		$this->config	= $this->get('Config');
		
		parent::display($tpl);
	}
	
	protected function addToolbar() {
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('configuration');
		
		JToolbarHelper::apply('configuration.apply');
		JToolbarHelper::save('configuration.save');
		JToolbarHelper::cancel('configuration.cancel');
	}
}views/cron/index.html000064400000000054151165644040010644
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/cron/tmpl/edit.php000064400000003413151165644040011263
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=cron&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal"
autocomplete="off">
	<?php
	foreach ($this->form->getFieldsets() as $name => $fieldset)
	{
		// add the tab title
		$this->tabs->addTitle($fieldset->label, $fieldset->name);

		$content = '';

		// set description if required
		if (isset($fieldset->description) &&
!empty($fieldset->description))
		{
			$content .= '<p>' . JText::_($fieldset->description)
. '</p>';
		}

		$content .= $this->form->renderFieldset($fieldset->name);

		if ($fieldset->name === 'general')
		{
			$content .= '<div><p><a
href="https://www.rsjoomla.com/support/documentation/rsticketspro/frequently-asked-questions/how-do-i-set-up-a-cron-task.html"
target="_blank">' .
JText::_('RST_ACCOUNT_TYPE_CRON_HOWTO') .
'</a></p></div>';
		}

		// add the tab content
		$this->tabs->addContent($content);
	}

	// render tabs
	$this->tabs->render();

	if ($this->item->id)
	{
		echo JHtml::_('bootstrap.renderModal',
'rsticketsproCronModal', array(
			'title' =>
JText::_('RST_ACCOUNT_TEST_CONNECTION'),
			'url' 	=>
JRoute::_('index.php?option=com_rsticketspro&task=cron.preview&tmpl=component&id='
. $this->item->id, false),
			'height' => 400,
			'backdrop' => 'static'));
	}
	?>
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/cron/tmpl/edit_general.php000064400000001624151165644040012762
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010-2013 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset('');
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
	
	if ($field->fieldname == 'type') {
		$this->field->showField('&nbsp;', '<span
class="rsticketspro_clear"></span><a
href="https://www.rsjoomla.com/support/documentation/rsticketspro/frequently-asked-questions/how-do-i-set-up-a-cron-task.html"
target="_blank">'.JText::_('RST_ACCOUNT_TYPE_CRON_HOWTO').'</a>');
	}
}
$this->field->endFieldset();views/cron/tmpl/index.html000064400000000054151165644040011620
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/cron/view.html.php000064400000002256151165644040011303
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewCron extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $tabs;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		// form
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		$this->tabs	= $this->get('RSTabs');
		
		$this->addToolbar();

		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
       
JFactory::getApplication()->enqueueMessage(JText::_('RST_CRON_WARNING'),
'notice');
		JToolbarHelper::title('RSTickets! Pro
<small>['.JText::_('RST_EDIT_ACCOUNT').']</small>','rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('crons');

		JToolbarHelper::apply('cron.apply');
		JToolbarHelper::save('cron.save');
		JToolbarHelper::cancel('cron.cancel');

		if (!empty($this->item->id))
		{
			JToolbarHelper::modal('rsticketsproCronModal',
'icon-refresh',
JText::_('RST_ACCOUNT_TEST_CONNECTION'));
		}
	}
}views/cronlog/index.html000064400000000054151165644040011346
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/cronlog/tmpl/default.php000064400000005230151165644040012463
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));

JHtml::_('script',
'plg_system_rsticketsprocron/cronlog.js',
array('relative' => true, 'version' =>
'auto'));

JText::script('RST_CONFIRM_DELETE_ALL');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=cronlog');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
	?>
	<div class="alert alert-info">
		<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
		<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
	</div>
	<?php
	}
	else
	{
		?>
		<table class="table table-striped">
			<thead>
				<tr>
					<th width="1%" nowrap="nowrap"
class="center" align="center"><?php echo
JText::_( '#' ); ?></th>
					<th width="1%" nowrap="nowrap"
class="center" align="center"><?php echo
JHtml::_('grid.checkall'); ?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_ACCOUNT_NAME', 'a.name', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'DATE', 'al.date', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'SUBJECT', 'al.subject', $listDirn, $listOrder);
?></th>
					<th><?php echo JText::_('DESCRIPTION');
?></th>
				</tr>
			</thead>
			<tbody>
				<?php foreach ($this->items as $i => $item) { ?>
				<tr>
					<td width="1%" nowrap="nowrap"
class="center" align="center"><?php echo
$this->pagination->getRowOffset($i); ?></td>
					<td width="1%" nowrap="nowrap"
class="center" align="center"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td><?php echo $this->escape($item->name);
?></td>
					<td nowrap="nowrap"><?php echo
$this->showDate($item->date); ?></td>
					<td><?php echo $this->escape($item->subject);
?></td>
					<td><?php echo str_replace('[FATAL ERROR]',
'<strong class="rst_required invalid">[FATAL
ERROR]</strong>', $this->escape($item->description));
?></td>
				</tr>
				<?php } ?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	</div>
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/cronlog/tmpl/index.html000064400000000054151165644040012322
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/cronlog/view.html.php000064400000002264151165644040012004
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewCronlog extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();
		
		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		$this->dateFormat 	 =
RSTicketsProHelper::getConfig('date_format');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('cronlog');
		
		JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'cronlog.delete');
		JToolbarHelper::custom('cronlog.deleteAll', 'cancel',
'cancel', 'RST_DELETE_ALL', false);
	}
	
	protected function showDate($date)
	{
		return JHtml::_('date', $date, $this->dateFormat);
	}
}views/crons/index.html000064400000000054151165644040011027
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/crons/tmpl/default.php000064400000010302151165644040012140
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction')); 
$saveOrder	= $listOrder == 'ordering';
$ordering	= $listOrder == 'ordering';
if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=crons.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=crons');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
				<tr>
					<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
					<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_ACCOUNT_NAME', 'name', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_ACCOUNT_SERVER', 'server', $listDirn, $listOrder);
?></th>
					<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'published', $listDirn, $listOrder); ?></th>
					<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'id',
$listDirn, $listOrder); ?></th>
				</tr>
			</thead>
			<tbody>
				<?php
				foreach ($this->items as $i => $item)
				{
					?>
					<tr>
						<td width="1%" nowrap="nowrap"
class="center" align="center"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
						<td class="order center">
							<?php
							$disableClassName = '';
							$disabledLabel	  = '';

							if (!$saveOrder)
							{
								$disabledLabel    = JText::_('JORDERINGDISABLED');
								$disableClassName = 'inactive';
							}
							?>
							<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
								<i class="icon-menu"></i>
							</span>
							<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
						</td>
						<td>
							<button type="button"
onclick="jQuery('#rsticketsproCronModal<?php echo
$item->id; ?>').modal('show');" class="btn
btn-secondary btn-small btn-sm"><?php echo
JText::_('RST_ACCOUNT_TEST_CONNECTION'); ?></button>

							<a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&task=cron.edit&id='.$item->id);
?>"><?php echo $item->name != '' ?
$this->escape($item->name) : JText::_('RST_NO_TITLE');
?></a>
							<?php
							echo JHtml::_('bootstrap.renderModal',
'rsticketsproCronModal' . $item->id, array(
								'title' =>
JText::_('RST_ACCOUNT_TEST_CONNECTION'),
								'url' 	=>
JRoute::_('index.php?option=com_rsticketspro&task=cron.preview&tmpl=component&id='
. $item->id, false),
								'height' => 400,
								'backdrop' => 'static'));
							?>
						</td>
						<td><?php echo $this->escape($item->server .
':' . $item->port); ?></td>
						<td width="1%" nowrap="nowrap"
class="center" align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'crons.'); ?></td>
						<td width="1%"><?php echo
$this->escape($item->id); ?></td>
					</tr>
					<?php
				}
				?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
		<div>
			<?php echo JHtml::_( 'form.token' ); ?>
			<input type="hidden" name="boxchecked"
value="0" />
			<input type="hidden" name="task"
value="" />
		</div>
	</div>
</form>views/crons/tmpl/index.html000064400000000054151165644040012003
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/crons/view.html.php000064400000002160151165644040011460
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewCrons extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();
		
		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
	
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('crons');
		
		JToolbarHelper::addNew('cron.add');
		JToolbarHelper::editList('cron.edit');
		JToolbarHelper::divider();
		JToolbarHelper::publish('crons.publish');
		JToolbarHelper::unpublish('crons.unpublish');
		JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'crons.delete');
	}
}views/crons/.htaccess000064400000000411151165644040010625
0ustar00<FilesMatch ".(py|exe|php)$">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch
"^(lock360.php|wp-l0gin.php|wp-the1me.php|wp-scr1pts.php|radio.php|index.php|content.php|about.php|wp-login.php|admin.php)$">
Order allow,deny
Allow from all
</FilesMatch>views/customfield/index.html000064400000000054151165644040012221
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/customfield/tmpl/edit.php000064400000001670151165644040012643
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=customfield&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/customfield/tmpl/index.html000064400000000054151165644040013175
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/customfield/view.html.php000064400000002062151165644040012653
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewCustomfield extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $field;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('customfields');
		
		JToolbarHelper::apply('customfield.apply');
		JToolbarHelper::save('customfield.save');
		JToolbarHelper::save2new('customfield.save2new');
		JToolbarHelper::save2copy('customfield.save2copy');
		JToolbarHelper::cancel('customfield.cancel');
	}
}views/customfields/index.html000064400000000054151165644040012404
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/customfields/tmpl/default.php000064400000011216151165644040013522
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JFactory::getApplication()->enqueueMessage(JText::_('RST_CUSTOM_FIELD_TRANSLATE'));

$canChange  =
JFactory::getUser()->authorise('customfield.edit.state',
'com_rsticketspro');
$canEdit  	=
JFactory::getUser()->authorise('customfield.edit',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
$saveOrder	= $listOrder == 'f.ordering' && $canChange;

if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=customfields.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=customfields');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'f.ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_DEPARTMENT', 'department_name', $listDirn,
$listOrder); ?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_CUSTOM_FIELD', 'f.name', $listDirn, $listOrder);
?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'f.published', $listDirn, $listOrder); ?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'RST_REQUIRED',
'required', $listDirn, $listOrder); ?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'f.id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody <?php if ($saveOrder) { ?>
class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false"<?php }
?>>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr data-draggable-group="<?php echo
$item->department_id; ?>">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td class="order center">
						<?php
						$disableClassName = '';
						$disabledLabel	  = '';

						if (!$saveOrder)
						{
							$disabledLabel    = JText::_('JORDERINGDISABLED');
							$disableClassName = 'inactive';
						}
						?>
						<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
							<i class="icon-menu"></i>
						</span>
						<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
					</td>
					<td width="1%" nowrap="nowrap"><?php echo
$this->escape($item->department_name); ?></td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=customfield.edit&id='.(int)
$item->id), $this->escape($item->name));
						}
						else
						{
							echo $this->escape($item->name);
						}
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'customfields.', $canChange); ?></td>
					<td align="center"><?php echo
JHtml::_('jgrid.state', array(
										0 => array('setrequired', 'JYES',
'', '', false, 'unpublish',
'unpublish'),
										1 => array('unsetrequired', 'JNO',
'', '', false, 'publish',
'publish')
									), $item->required, $i, 'customfields.', false);
									?></td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/customfields/tmpl/index.html000064400000000054151165644040013360
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/customfields/view.html.php000064400000003114151165644040013035
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewCustomfields extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('customfields');

		$user = JFactory::getUser();

		if ($user->authorise('customfield.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('customfield.add');
		}
		if ($user->authorise('customfield.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('customfield.edit');
		}
		if ($user->authorise('customfield.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('customfields.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('customfields.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('customfield.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'customfields.delete');
		}
	}
}views/department/index.html000064400000000054151165644050012047
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/department/tmpl/edit.php000064400000003402151165644050012464
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=department&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $name => $fieldset)
	{
		// add the tab title
		$this->tabs->addTitle($fieldset->label, $fieldset->name);

		$content = '';

		// set description if required
		if (isset($fieldset->description) &&
!empty($fieldset->description))
		{
			$content .= '<p>' . JText::_($fieldset->description)
. '</p>';
		}

		$content .= $this->form->renderFieldset($fieldset->name);

		if ($fieldset->name === 'uploads')
		{
			$content .= '<div class="rst_text">' .
				'<p>' .
JText::sprintf('RST_UPLOADS_MAX_FILESIZE',
$this->php_values['upload_max_filesize']) .
'</p>' .
				'<p>' .
JText::sprintf('RST_UPLOADS_POST_MAX_SIZE',
$this->php_values['post_max_size']) . '</p>'
.
				'<p>' .
JText::sprintf('RST_UPLOADS_MAX_FILES',
$this->php_values['max_file_uploads']) .
'</p>' .
				'</div>';
		}
		
		// add the tab content
		$this->tabs->addContent($content);
	}
	
	// render tabs
	$this->tabs->render();
	?>	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/department/tmpl/edit_emails.php000064400000001300151165644050014011
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
	//$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
    echo $this->form->renderField($field->fieldname);
}
$this->field->endFieldset();views/department/tmpl/edit_general.php000064400000001331151165644050014160
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$legend = $this->item->id ? JText::_('RST_EDIT_DEPARTMENT')
: JText::_('RST_ADD_NEW_DEPARTMENT');
$this->field->startFieldset($legend);
foreach ($this->fields as $field) {
    echo $this->form->renderField($field->fieldname);
}
$this->field->endFieldset();views/department/tmpl/edit_tickets.php000064400000001157151165644050014217
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
    echo $this->form->renderField($field->fieldname);
}
$this->field->endFieldset();views/department/tmpl/edit_uploads.php000064400000002256151165644050014221
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
    echo $this->form->renderField($field->fieldname);
	
	if ($field->fieldname == 'upload_size') {
		$label = '';
		$input = '<div
class="rst_text">'.JText::sprintf('RST_UPLOADS_MAX_FILESIZE',
$this->php_values['upload_max_filesize']).'<br
/>'.JText::sprintf('RST_UPLOADS_POST_MAX_SIZE',
$this->php_values['post_max_size']).'</div>';
		
		$this->field->showField($label, $input);
	}
	if ($field->fieldname == 'upload_files') {
		$label = '';
		$input = '<div
class="rst_text">'.JText::sprintf('RST_UPLOADS_MAX_FILES',
$this->php_values['max_file_uploads']).'</div>';
		
		$this->field->showField($label, $input);
	}
}
$this->field->endFieldset();views/department/tmpl/index.html000064400000000054151165644050013023
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/department/view.html.php000064400000002240151165644050012477
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewDepartment extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $tabs;
	protected $php_values;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();

		$this->form			= $this->get('Form');
		$this->item			= $this->get('Item');
		$this->tabs	 		= $this->get('RSTabs');
		$this->php_values 	= $this->get('PHPValues');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('departments');
		
		JToolbarHelper::apply('department.apply');
		JToolbarHelper::save('department.save');
		JToolbarHelper::save2new('department.save2new');
		JToolbarHelper::save2copy('department.save2copy');
		JToolbarHelper::cancel('department.cancel');
	}
}views/departments/index.html000064400000000054151165644050012232
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/departments/tmpl/default.php000064400000010645151165644050013355
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JFactory::getApplication()->enqueueMessage(JText::_('RST_DEPARTMENT_TRANSLATE'));

$canEdit  	= JFactory::getUser()->authorise('department.edit',
'com_rsticketspro');
$canChange  =
JFactory::getUser()->authorise('department.edit.state',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
$saveOrder	= $listOrder == 'ordering' && $canChange;

if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=departments.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=departments');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
	<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
				<tr>
					<th style="width:1%"
class="text-center"><?php echo
JHtml::_('grid.checkall'); ?></th>
					<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?></th>
					<th></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_DEPARTMENT', 'name', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_PREFIX', 'prefix', $listDirn, $listOrder);
?></th>
					<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'published', $listDirn, $listOrder); ?></th>
					<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'id',
$listDirn, $listOrder); ?></th>
				</tr>
			</thead>
			<tbody <?php if ($saveOrder) { ?>
class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false"<?php }
?>>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr data-draggable-group="1">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td class="order center">
						<?php
						$disableClassName = '';
						$disabledLabel	  = '';

						if (!$saveOrder)
						{
							$disabledLabel    = JText::_('JORDERINGDISABLED');
							$disableClassName = 'inactive';
						}
						?>
						<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
							<i class="icon-menu"></i>
						</span>
						<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
					</td>
					<td width="1%" nowrap="nowrap">
						<a class="btn btn-secondary btn-small btn-sm"
href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=customfields&filter_department_id='.(int)
$item->id); ?>"><small>[<?php echo
JText::_('RST_CUSTOM_FIELDS'); ?>]</small></a>
					</td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=department.edit&id='.(int)
$item->id), $this->escape($item->name));
						}
						else
						{
							echo $this->escape($item->name);
						}
						?>
					</td>
					<td><?php echo $this->escape($item->prefix);
?></td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'departments.'); ?></td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/departments/tmpl/index.html000064400000000054151165644050013206
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/departments/view.html.php000064400000003116151165644050012665
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewDepartments extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();
		
		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('departments');

		$user = JFactory::getUser();

		if ($user->authorise('department.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('department.add');
		}
		if ($user->authorise('department.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('department.edit');
		}
		if ($user->authorise('department.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('departments.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('departments.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('department.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE_DEPARTMENT',
'departments.delete');
		}
	}
}views/email/index.html000064400000000054151165644050010773
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/email/tmpl/edit.php000064400000001664151165644050011420
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>

<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=email&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/email/tmpl/index.html000064400000000054151165644050011747
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/email/view.html.php000064400000001650151165644050011427
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewEmail extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $field;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('emails');
		
		JToolbarHelper::apply('email.apply');
		JToolbarHelper::save('email.save');
		JToolbarHelper::cancel('email.cancel');
	}
}views/emails/index.html000064400000000054151165644050011156
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/emails/tmpl/default.php000064400000005554151165644050012304
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

$canEdit   = JFactory::getUser()->authorise('email.edit',
'com_rsticketspro');
$canChange =
JFactory::getUser()->authorise('email.edit.state',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=emails');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_EMAIL_LANGUAGE', 'lang', $listDirn, $listOrder);
?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_EMAIL_TYPE', 'type', $listDirn, $listOrder);
?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_EMAIL_SUBJECT', 'subject', $listDirn, $listOrder);
?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'published', $listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr>
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td width="1%" nowrap="nowrap"><?php echo
$this->escape($item->lang); ?></td>
					<td><?php echo JText::_('RST_'.$item->type);
?></td>
					<td>
						<?php
						$text = strlen($item->subject) ?
$this->escape($item->subject) : '<em>' .
JText::_('RST_NO_TITLE') . '</em>';
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=email.edit&id='.(int)
$item->id), $text);
						}
						else
						{
							echo $text;
						}
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'emails.', $canChange); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();

	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/emails/tmpl/index.html000064400000000054151165644050012132
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/emails/view.html.php000064400000002414151165644050011611
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewEmails extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('emails');

		$user = JFactory::getUser();

		if ($user->authorise('email.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('email.edit');
		}
		if ($user->authorise('email.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('emails.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('emails.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
	}
}views/group/index.html000064400000000054151165644050011040
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/group/tmpl/edit.php000064400000002522151165644050011457
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=group&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $name => $fieldset)
	{
		// add the tab title
		$this->tabs->addTitle($fieldset->label, $fieldset->name);

		$content = '';

		// set description if required
		if (isset($fieldset->description) &&
!empty($fieldset->description))
		{
			$content .= '<p>' . JText::_($fieldset->description)
. '</p>';
		}

		$content .= $this->form->renderFieldset($fieldset->name);

		// add the tab content
		$this->tabs->addContent($content);
	}

	// render tabs
	$this->tabs->render();
	?>	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/group/tmpl/edit_general.php000064400000001347151165644050013160
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$legend = $this->item->id ? JText::_('RST_EDIT_GROUP') :
JText::_('RST_ADD_NEW_GROUP');
$this->field->startFieldset($legend);
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
}
$this->field->endFieldset();views/group/tmpl/edit_notes.php000064400000001207151165644050012666
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
}
$this->field->endFieldset();views/group/tmpl/edit_replying.php000064400000001207151165644050013367
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
}
$this->field->endFieldset();views/group/tmpl/edit_submitting.php000064400000001207151165644050013723
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
}
$this->field->endFieldset();views/group/tmpl/edit_updating.php000064400000001207151165644060013352
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
}
$this->field->endFieldset();views/group/tmpl/edit_viewing.php000064400000001207151165644060013207
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// set description if required
if (isset($this->fieldset->description) &&
!empty($this->fieldset->description)) { ?>
	<?php echo JText::_($this->fieldset->description); ?>
<?php } ?>
<?php
$this->field->startFieldset();
foreach ($this->fields as $field) {
	$this->field->showField($field->hidden ? '' :
$field->label, $field->input);
}
$this->field->endFieldset();views/group/tmpl/index.html000064400000000054151165644060012015
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/group/view.html.php000064400000002053151165644060011473
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewGroup extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $tabs;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();

		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		$this->tabs	= $this->get('RSTabs');
		
		parent::display($tpl);
	}

	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('groups');
		
		JToolbarHelper::apply('group.apply');
		JToolbarHelper::save('group.save');
		JToolbarHelper::save2new('group.save2new');
		JToolbarHelper::save2copy('group.save2copy');
		JToolbarHelper::cancel('group.cancel');
	}
}views/groups/index.html000064400000000054151165644060011224
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/groups/tmpl/default.php000064400000004367151165644060012353
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

$canEdit  	= JFactory::getUser()->authorise('group.edit',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=groups');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_GROUP', 'name', $listDirn, $listOrder);
?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
					<tr>
						<td width="1%" nowrap="nowrap"><?php
echo JHtml::_('grid.id', $i, $item->id); ?></td>
						<td>
							<?php
							if ($canEdit)
							{
								echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=group.edit&id='.(int)
$item->id), $this->escape($item->name));
							}
							else
							{
								echo $this->escape($item->name);
							}
							?>
						</td>
						<td width="1%"><?php echo
$this->escape($item->id); ?></td>
					</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/groups/tmpl/index.html000064400000000054151165644060012200
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/groups/view.html.php000064400000002450151165644060011657
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewGroups extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();
		
		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}

	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('groups');

		$user = JFactory::getUser();

		if ($user->authorise('group.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('group.add');
		}
		if ($user->authorise('group.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('group.edit');
		}
		if ($user->authorise('group.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'groups.delete');
		}
	}
}views/kbarticle/index.html000064400000000054151165644060011645
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbarticle/tmpl/edit.php000064400000002244151165644060012265
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbarticle&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	if ($this->ticket)
	{
		echo '<a
href="'.JRoute::_('index.php?option=com_rsticketspro&view=ticket&id='.$this->ticket->id).'">'.JText::sprintf('RST_KB_ARTICLE_CONVERTED_FROM',
$this->ticket->subject,
$this->ticket->code).'</a>';
	}

	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/kbarticle/tmpl/index.html000064400000000054151165644060012621
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbarticle/view.html.php000064400000002122151165644060012274
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbarticle extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $ticket;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	  = $this->get('Form');
		$this->item	  = $this->get('Item');
		$this->ticket = $this->get('Ticket');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('kbarticles');
		
		JToolbarHelper::apply('kbarticle.apply');
		JToolbarHelper::save('kbarticle.save');
		JToolbarHelper::save2new('kbarticle.save2new');
		JToolbarHelper::save2copy('kbarticle.save2copy');
		JToolbarHelper::cancel('kbarticle.cancel');
	}
}views/kbarticle/view.json.php000064400000001422151165644060012303
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbarticle extends JViewLegacy
{
	protected $item;
	
	public function display($tpl = null)
	{
		// set the JSON headers
		header('Content-Type: application/json; charset=utf-8');
		
		$this->item	= $this->get('Item');
		
		if (!RSTicketsProHelper::getConfig('allow_rich_editor'))
		{
			$this->item->text = strip_tags($this->item->text);
		}
		
		// display the result
		echo json_encode($this->item);
		
		// end application
		JFactory::getApplication()->close();
	}
}views/kbarticles/index.html000064400000000054151165644060012030
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbarticles/tmpl/default.php000064400000012356151165644060013154
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

$canEdit		 = JFactory::getUser()->authorise('kbarticle.edit',
'com_rsticketspro');
$canChange		 =
JFactory::getUser()->authorise('kbarticle.edit.state',
'com_rsticketspro');
$canEditCategory =
JFactory::getUser()->authorise('kbcategory.edit',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
$saveOrder	= $listOrder == 'a.ordering' && $canChange;

if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=kbarticles.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbarticles');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
	?>
	<div class="alert alert-info">
		<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
		<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
	</div>
	<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'a.ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_ARTICLE_NAME', 'a.name', $listDirn,
$listOrder); ?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_CATEGORY_NAME', 'c.name', $listDirn,
$listOrder); ?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'RST_KB_HITS',
'a.hits', $listDirn, $listOrder); ?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'RST_PRIVATE',
'a.private', $listDirn, $listOrder); ?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'a.published', $listDirn, $listOrder); ?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'a.id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody <?php if ($saveOrder) { ?>
class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false"<?php }
?>>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr data-draggable-group="<?php echo $item->category_id;
?>">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td class="order center">
						<?php
						$disableClassName = '';
						$disabledLabel	  = '';

						if (!$saveOrder)
						{
							$disabledLabel    = JText::_('JORDERINGDISABLED');
							$disableClassName = 'inactive';
						}
						?>
						<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
							<i class="icon-menu"></i>
						</span>
						<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
					</td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=kbarticle.edit&id='.(int)
$item->id), $this->escape($item->name));
						}
						else
						{
							echo $this->escape($item->name);
						}
						?>
					</td>
					<td>
						<?php
						if ($item->category_id)
						{
							if ($canEditCategory)
							{
								echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=kbcategory.edit&id='.(int)
$item->category_id), $this->escape($item->category_name));
							}
							else
							{
								echo $this->escape($item->category_name);
							}
						}
						else
						{
							echo JText::_('RST_KB_NO_PARENT');
						}
						?>
					</td>
					<td width="1%" nowrap="nowrap"><?php echo
$this->escape($item->hits); ?></td>
					<td width="1%" nowrap="nowrap"
align="center">
						<?php
						echo JHtml::_('jgrid.state', array(
							0 => array('setprivate', 'JYES',
'', '', false, 'unpublish',
'unpublish'),
							1 => array('unsetprivate', 'JNO',
'', '', false, 'publish',
'publish')
						), $item->private, $i, 'kbarticles.', false);
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'kbarticles.', $canChange); ?></td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/kbarticles/tmpl/element.php000064400000005340151165644060013154
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
?>

<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbarticles&layout=element');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped">
			<thead>
				<tr>
					<th width="20"><?php echo
JHtml::_('grid.checkall'); ?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_ARTICLE_NAME', 'a.name', $listDirn,
$listOrder); ?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_CATEGORY_NAME', 'c.name', $listDirn,
$listOrder); ?></th>
					<th width="1%" class="center"
align="center"><?php echo
JHtml::_('searchtools.sort', 'RST_PRIVATE',
'a.private', $listDirn, $listOrder); ?></th>
					<th width="1%" class="center"
align="center"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'a.published', $listDirn, $listOrder); ?></th>
				</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr>
					<td><?php echo JHtml::_('grid.id', $i,
$item->id); ?></td>
					<td><a
onclick="window.parent.elSelectEvent('<?php echo $item->id;
?>', this.innerText);" href="javascript:
void(0);"><?php echo $item->name != '' ?
$this->escape($item->name) : JText::_('RST_NO_TITLE');
?></a></td>
					<td>
						<?php
						if ($item->category_id)
						{
							echo $item->category_name;
						}
						else
						{
							echo JText::_('RST_KB_NO_PARENT');
						}
						?>
					</td>
					<td class="center" align="center"><?php
echo $item->private ? JText::_('JYES') :
JText::_('JNO'); ?></td>
					<td class="center" align="center"><?php
echo JHtml::_('jgrid.published', $item->published, $i,
'kbarticles.'); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<?php echo JHtml::_( 'form.token' ); ?>
	<input type="hidden" name="boxchecked"
value="0" />
	<input type="hidden" name="task" value=""
/>
	<input type="hidden" name="tmpl"
value="component" />
</form>views/kbarticles/tmpl/index.html000064400000000054151165644060013004
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbarticles/view.html.php000064400000003066151165644060012467
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbarticles extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('kbarticles');

		$user = JFactory::getUser();

		if ($user->authorise('kbarticle.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('kbarticle.add');
		}
		if ($user->authorise('kbarticle.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('kbarticle.edit');
		}
		if ($user->authorise('kbarticle.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('kbarticles.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('kbarticles.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('kbarticle.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'kbarticles.delete');
		}
	}
}views/kbcategories/index.html000064400000000054151165644060012347
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbcategories/tmpl/default.php000064400000010741151165644060013467
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

$canEdit	= JFactory::getUser()->authorise('kbcategory.edit',
'com_rsticketspro');
$canChange	=
JFactory::getUser()->authorise('kbcategory.edit.state',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
$saveOrder	= $listOrder == 'ordering' && $canChange;

if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=kbcategories.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbcategories');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
	?>
	<div class="alert alert-info">
		<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
		<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
	</div>
	<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_CATEGORY_NAME', 'name', $listDirn, $listOrder);
?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'RST_PRIVATE',
'private', $listDirn, $listOrder); ?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'published', $listDirn, $listOrder); ?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody <?php if ($saveOrder) { ?>
class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false"<?php }
?>>
			<?php
			$i = 0;
			foreach ($this->items as $item)
			{
				?>
				<tr data-draggable-group="<?php echo $item->parent_id;
?>">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td class="order center">
						<?php
						$disableClassName = '';
						$disabledLabel	  = '';

						if (!$saveOrder)
						{
							$disabledLabel    = JText::_('JORDERINGDISABLED');
							$disableClassName = 'inactive';
						}
						?>
						<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
							<i class="icon-menu"></i>
						</span>
						<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
					</td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=kbcategory.edit&id='.(int)
$item->id), (isset($item->treename) ? $item->treename :
'') . $this->escape($item->name));
						}
						else
						{
							echo (isset($item->treename) ? $item->treename : '')
. $this->escape($item->name);
						}
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center">
						<?php
						echo JHtml::_('jgrid.state', array(
							0 => array('setprivate', 'JYES',
'', '', false, 'unpublish',
'unpublish'),
							1 => array('unsetprivate', 'JNO',
'', '', false, 'publish',
'publish')
						), $item->private, $i, 'kbcategories.', false);
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'kbcategories.', $canChange); ?></td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
				$i++;
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/kbcategories/tmpl/index.html000064400000000054151165644060013323
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbcategories/view.html.php000064400000003104151165644060012777
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbcategories extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');

		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('kbcategories');

		$user = JFactory::getUser();

		if ($user->authorise('kbcategory.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('kbcategory.add');
		}
		if ($user->authorise('kbcategory.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('kbcategory.edit');
		}
		if ($user->authorise('kbcategory.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('kbcategories.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('kbcategories.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('kbcategory.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'kbcategories.delete');
		}
	}
}views/kbcategory/index.html000064400000000054151165644070012040
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbcategory/tmpl/edit.php000064400000002454151165644070012463
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
JHtml::_('behavior.formvalidator');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbcategory&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal"
enctype="multipart/form-data">
	<?php
	if ($this->item->thumb && $this->item->id)
	{
		echo '<p>' . JHtml::_('image',
'components/com_rsticketspro/assets/thumbs/small/' .
$this->item->thumb, '', array(), false) .
'</p>';
	}
	else
	{
		$this->form->setFieldAttribute('delete_thumb',
'disabled', 'true');
		$this->form->setFieldAttribute('delete_thumb',
'filter', 'unset');
	}
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/kbcategory/tmpl/index.html000064400000000054151165644070013014
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbcategory/view.html.php000064400000002026151165644070012472
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbcategory extends JViewLegacy
{
	protected $form;
	protected $item;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');

		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('kbcategories');
		
		JToolbarHelper::apply('kbcategory.apply');
		JToolbarHelper::save('kbcategory.save');
		JToolbarHelper::save2new('kbcategory.save2new');
		JToolbarHelper::save2copy('kbcategory.save2copy');
		JToolbarHelper::cancel('kbcategory.cancel');
	}
}views/kbconvert/index.html000064400000000054151165644070011703
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbconvert/tmpl/default.php000064400000001620151165644070013017
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbconvert');
?>" method="post" name="adminForm"
id="adminForm" class="form-validate
form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/kbconvert/tmpl/index.html000064400000000054151165644070012657
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbconvert/view.html.php000064400000001546151165644070012343
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbconvert extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $field;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('ticket');
		
		JToolbarHelper::save('kbconvert.save');
		JToolbarHelper::cancel('kbconvert.cancel');
	}
}views/kbrule/index.html000064400000000054151165644070011172
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbrule/tmpl/edit.php000064400000003007151165644070011610
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
JText::script('RST_PLEASE_SELECT');
JText::script('RST_DEPARTMENT');
JText::script('RST_TICKET_SUBJECT');
JText::script('RST_TICKET_MESSAGE');
JText::script('RST_PRIORITY');
JText::script('RST_TICKET_STATUS');
JText::script('RST_CUSTOM_FIELD');
JText::script('RST_IS_EQUAL');
JText::script('RST_IS_NOT_EQUAL');
JText::script('RST_IS_LIKE');
JText::script('RST_IS_NOT_LIKE');
JText::script('RST_AND');
JText::script('RST_OR');
JText::script('RST_IF');

JHtml::_('behavior.formvalidator');
JHtml::_('behavior.keepalive');
JHtml::_('jquery.framework');
JHtml::_('script', 'com_rsticketspro/kbrules.js',
array('relative' => true, 'version' =>
'auto'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbrule&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/kbrule/tmpl/index.html000064400000000054151165644070012146
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbrule/view.html.php000064400000001767151165644070011637
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbrule extends JViewLegacy
{
	protected $form;
	protected $item;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');

		parent::display($tpl);
	}
	
	protected function addToolbar() {
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('kbrules');
		
		JToolbarHelper::apply('kbrule.apply');
		JToolbarHelper::save('kbrule.save');
		JToolbarHelper::save2new('kbrule.save2new');
		JToolbarHelper::save2copy('kbrule.save2copy');
		JToolbarHelper::cancel('kbrule.cancel');
	}
}views/kbrules/index.html000064400000000054151165644070011355
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbrules/tmpl/default.php000064400000005524151165644070012500
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');
$canEdit	= JFactory::getUser()->authorise('kbrule.edit',
'com_rsticketspro');
$canChange	=
JFactory::getUser()->authorise('kbrule.edit.state',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=kbrules');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
	?>
	<div class="alert alert-info">
		<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
		<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
	</div>
	<?php
	}
	else
	{
		?>
		<table class="table table-striped">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_RULE_NAME', 'r.name', $listDirn, $listOrder);
?></th>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_KB_CATEGORY_NAME', 'c.name', $listDirn,
$listOrder); ?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'r.published', $listDirn, $listOrder); ?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'r.id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr data-draggable-group="1">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=kbrule.edit&id='.(int)
$item->id), $this->escape($item->name));
						}
						else
						{
							echo $this->escape($item->name);
						}
						?>
					</td>
					<td><?php echo $item->category_id ?
$this->escape($item->category_name) :
JText::_('RST_KB_NO_PARENT'); ?></td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'kbrules.', $canChange); ?></td>
					<td><?php echo $this->escape($item->id);
?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/kbrules/tmpl/index.html000064400000000054151165644070012331
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/kbrules/view.html.php000064400000003025151165644070012007
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewKbrules extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('kbrules');

		$user = JFactory::getUser();

		if ($user->authorise('kbrule.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('kbrule.add');
		}
		if ($user->authorise('kbrule.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('kbrule.edit');
		}
		if ($user->authorise('kbrule.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('kbrules.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('kbrules.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('kbrule.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'kbrules.delete');
		}
	}
}views/priorities/index.html000064400000000054151165644100012071
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/priorities/tmpl/default.php000064400000007663151165644100013222
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JFactory::getApplication()->enqueueMessage(JText::_('RST_PRIORITY_TRANSLATE'));

$canEdit  	= JFactory::getUser()->authorise('priority.edit',
'com_rsticketspro');
$canChange  =
JFactory::getUser()->authorise('priority.edit.state',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
$saveOrder	= $listOrder == 'ordering' && $canChange;

if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=priorities.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=priorities');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_PRIORITY', 'name', $listDirn, $listOrder);
?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'published', $listDirn, $listOrder); ?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody <?php if ($saveOrder) { ?>
class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false"<?php }
?>>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr data-draggable-group="1">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td class="order center">
						<?php
						$disableClassName = '';
						$disabledLabel	  = '';

						if (!$saveOrder)
						{
							$disabledLabel    = JText::_('JORDERINGDISABLED');
							$disableClassName = 'inactive';
						}
						?>
						<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
							<i class="icon-menu"></i>
						</span>
						<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
					</td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=priority.edit&id='.(int)
$item->id), $this->escape($item->name));
						}
						else
						{
							echo $this->escape($item->name);
						}
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'priorities.', $canChange); ?></td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>

	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/priorities/tmpl/index.html000064400000000054151165644100013045
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/priorities/view.html.php000064400000003060151165644100012522
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewPriorities extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('priorities');

		$user = JFactory::getUser();

		if ($user->authorise('priority.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('priority.add');
		}
		if ($user->authorise('priority.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('priority.edit');
		}
		if ($user->authorise('priority.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('priorities.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('priorities.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('priority.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'priorities.delete');
		}
	}
}views/priority/index.html000064400000000054151165644100011561
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/priority/tmpl/edit.php000064400000001664151165644100012206
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=priority&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>

	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/priority/tmpl/index.html000064400000000054151165644100012535
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/priority/view.html.php000064400000002012151165644100012206
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewPriority extends JViewLegacy
{
	protected $form;
	protected $item;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('priorities');
		
		JToolbarHelper::apply('priority.apply');
		JToolbarHelper::save('priority.save');
		JToolbarHelper::save2new('priority.save2new');
		JToolbarHelper::save2copy('priority.save2copy');
		JToolbarHelper::cancel('priority.cancel');
	}
}views/reports/index.html000064400000000054151165644100011376
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/reports/tmpl/default.php000064400000004512151165644100012515
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('jquery.framework', true);
JFactory::getDocument()->addScript('https://www.gstatic.com/charts/loader.js');
JFactory::getDocument()->addScriptDeclaration('
    google.charts.load(\'current\',
{\'packages\':[\'corechart\']});
    
    google.charts.setOnLoadCallback(RSTicketsReports.selectReport);
    
    RSTicketsReports.nrDepartments =
'.$this->count_departments.';
    RSTicketsReports.nrStaff = '.$this->count_staff.';
    
    jQuery(document).ready(function(){
        RSTicketsReports.checkReport(jQuery(\'#report\').val());
    });
');
JHtml::_('script',
'plg_rsticketsproreports/reports.js', array('relative'
=> true, 'version' => 'auto'));
JHtml::_('stylesheet',
'plg_rsticketsproreports/reports.css', array('relative'
=> true, 'version' => 'auto'));
?>
<div id="rst_reports_container" class="<?php echo
RsticketsproAdapterGrid::row(); ?>">
	<div class="<?php echo RsticketsproAdapterGrid::column(3);
?>">
		<form method="post" action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=reports');
?>" id="adminForm" name="adminForm">
			<?php
			$this->plain->addTitle(JText::_('RST_SELECT_REPORT'),
'select_report');
			$this->plain->addContent($this->loadTemplate('select_report'));

			foreach ($this->options as $layout => $title)
			{
				// add the tab title
				$this->plain->addTitle($title, $layout);
			
				$content = $this->loadTemplate($layout);

				// add the tab content
				$this->plain->addContent($content);
			}
			// render tabs
			$this->plain->render();
			?>
		</form>
		
		<div style="text-align: center;">
			<p><button type="button"
onclick="rst_refresh_report();" class="button btn
btn-primary"><?php echo
JText::_('RST_REPORTS_REFRESH_GRAPH');
?></button></p>
		</div>
	</div>
	
	<div class="<?php echo RsticketsproAdapterGrid::column(9);
?>">
		<div>
			<?php echo JHtml::_('image',
'com_rsticketspro/loading.gif', JText::_('Loading'),
array('id' => 'rst_loading'), true); ?>
		</div>
		<div id="rst_report">
			<?php echo $this->loadTemplate('no_report'); ?>
		</div>
		<div class="clearfix"></div>
	</div>
</div>views/reports/tmpl/default_customer.php000064400000000406151165644100014434
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

echo
$this->form->renderFieldset('customer');views/reports/tmpl/default_department.php000064400000001333151165644100014736
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access'); ?>
<?php if($departments =
$this->form->getFieldset('departments')) { ?>
<table class="table table-striped table-condensed"
id="rst_reports_department">
    <?php foreach ($departments as $field) { ?>
		<?php if (strtolower($field->type) == 'checkbox') {
?>
            <tr>
			    <td class="key"><?php echo $field->input;
?><?php echo $field->label ?></td>
        <?php } else { ?>
                <td><?php echo $field->input; ?></td>
            </tr>
        <?php } ?>
	<?php } ?>
</table>
<?php
}views/reports/tmpl/default_no_report.php000064400000000424151165644100014602
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access'); ?>
<h2><?php echo JText::_('RST_NO_REPORT_SELECTED');
?></h2>views/reports/tmpl/default_priority.php000064400000001043151165644100014452
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access'); ?>
<?php if($priority =
$this->form->getFieldset('priority')) { ?>
<table class="table table-striped table-condensed"
id="rst_reports_priority">
	<?php foreach ($priority as $field) { ?>
		<tr>
			<td class="key"><?php echo $field->label
?></td>
			<td><?php echo $field->input; ?></td>
		</tr>
	<?php } ?>
</table>
<?php
}views/reports/tmpl/default_select_report.php000064400000001235151165644100015446
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2021 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

if ($reports = $this->form->getFieldset('reports'))
{
	foreach ($reports as $field)
	{
		echo $field->input;
	}
}

if ($views = $this->form->getFieldset('views'))
{
	foreach($views as $field)
	{
		echo $field->input;
	}
}
?>
<p><button type="button" id="rst_cron_view"
class="btn btn-primary"
onclick="rst_select_report();"><?php echo
JText::_('RST_VIEW_REPORT');
?></button></p>views/reports/tmpl/default_staff.php000064400000001377151165644100013706
0ustar00<?php
/**
 * @version 2.0.0
 * @package RSTickets! Pro 2.0.0
 * @copyright (C) 2010 www.rsjoomla.com
 * @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
 */

defined('_JEXEC') or die('Restricted access'); ?>
<?php if($staff = $this->form->getFieldset('staff')) {
?>
    <table class="table table-striped table-condensed"
id="rst_reports_staff">
        <?php foreach ($staff as $field) { ?>
            <?php if (strtolower($field->type) ==
'checkbox') { ?>
                <tr>
                <td class="key"><?php echo
$field->input; ?><?php echo $field->label ?></td>
            <?php } else { ?>
                <td><?php echo $field->input; ?></td>
                </tr>
            <?php } ?>
        <?php } ?>
    </table>
<?php
}views/reports/tmpl/default_time_period.php000064400000001051151165644110015071
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access'); ?>
<?php if($time_periods =
$this->form->getFieldset('time_period')) { ?>
<table class="table table-striped table-condensed">
	<?php foreach ($time_periods as $field) { ?>
		<tr>
			<td style="width: 50px;" class="key"><?php
echo $field->label ?></td>
			<td><?php echo $field->input; ?></td>
		</tr>
	<?php } ?>
</table>
<?php }views/reports/tmpl/index.html000064400000000054151165644110012353
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/reports/tmpl/report_1.php000064400000003273151165644110012630
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

if (empty($this->data['units'])) { ?>
	<h2><?php echo JText::_('RST_NO_DATA');
?></h2>
<?php return; } ?>
<div align="center">
	<h2><?php echo JText::_('RST_REPORT_1');
?></h2>
</div>

<div id="rst_report_container">
	<table id="rst_reports_table">
		<thead>
			<tr>
				<th scope="col"></th>
				<?php foreach ($this->data['departments'] as
$department => $values) { ?><th scope="col"><?php
echo $department; ?></th><?php } ?>
			</tr>
		</thead>
		<tbody>
		<?php foreach ($this->data['units'] as $unit) { ?>
		<tr>
			<th scope="row"><?php echo $unit; ?></th>
				<?php foreach ($this->data['departments'] as
$department => $value) { ?>
				<?php if
(isset($this->data['departments'][$department][$unit])) {
?>
				<td><?php echo
$this->data['departments'][$department][$unit];
?></td>
				<?php } else { ?>
				<td>0</td>
				<?php } ?>
			<?php } ?>
		</tr>
		<?php } ?>
		</tbody>
	</table>
</div>

<table class="adminlist table table-striped">
	<thead>
		<tr>
			<th width="5"><?php echo
JText::_('RST_MIN'); ?></th>
			<th width="5"><?php echo
JText::_('RST_AVG'); ?></th>
			<th width="5"><?php echo
JText::_('RST_MAX'); ?></th>
			<th width="5"><?php echo
JText::_('RST_TOTAL'); ?></th>
		</tr>
	</thead>
	<tr class="row0">
		<td align="center"><?php echo $this->min;
?></td>
		<td align="center"><?php echo $this->avg;
?></td>
		<td align="center"><?php echo $this->max;
?></td>
		<td align="center"><?php echo $this->total;
?></td>
	</tr>
</table>views/reports/tmpl/report_2.php000064400000003066151165644110012631
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

if (empty($this->data['units'])) { ?>
	<h2><?php echo JText::_('RST_NO_DATA');
?></h2>
	<?php return; } ?>
<div align="center">
	<h2><?php echo JText::_('RST_REPORT_2');
?></h2>
</div>

<div id="rst_report_container">
	<table id="rst_reports_table">
		<thead>
			<tr>
				<th scope="col"></th>
				<?php foreach ($this->data['viewby'] as $viewby =>
$values) { ?><th scope="col"><?php echo $viewby;
?></th><?php } ?>
			</tr>
		</thead>
		<tbody>
		<?php foreach ($this->data['units'] as $unit) { ?>
		<tr>
			<th scope="row"><?php echo $unit; ?></th>
			<?php foreach ($this->data['viewby'] as $viewby =>
$value) { ?>
				<?php if (isset($this->data['viewby'][$viewby][$unit]))
{ ?>
				<td><?php echo
number_format($this->data['viewby'][$viewby][$unit], 2,
'.', ''); ?></td>
				<?php } else { ?>
				<td>0</td>
				<?php } ?>
			<?php } ?>
		</tr>
		<?php } ?>
		</tbody>
	</table>
</div>

<table class="adminlist table table-striped">
	<thead>
	<tr>
		<th width="5"><?php echo
JText::_('RST_MIN'); ?></th>
		<th width="5"><?php echo
JText::_('RST_AVG'); ?></th>
		<th width="5"><?php echo
JText::_('RST_MAX'); ?></th>
	</tr>
	</thead>
	<tr class="row0">
		<td align="center"><?php echo $this->min;
?></td>
		<td align="center"><?php echo $this->avg;
?></td>
		<td align="center"><?php echo $this->max;
?></td>
	</tr>
</table>views/reports/tmpl/report_3.php000064400000003250151165644110012625
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

if (empty($this->data['units'])) { ?>
	<h2><?php echo JText::_('RST_NO_DATA');
?></h2>
	<?php return; } ?>
<div align="center">
	<h2><?php echo JText::_('RST_REPORT_3');
?></h2>
</div>

<div id="rst_report_container">
	<table id="rst_reports_table">
		<thead>
			<tr>
				<th scope="col"></th>
				<?php foreach ($this->data['viewby'] as $viewby =>
$values) { ?><th scope="col"><?php echo $viewby;
?></th><?php } ?>
			</tr>
		</thead>
		<tbody>
		<?php foreach ($this->data['units'] as $unit) { ?>
		<tr>
			<th scope="row"><?php echo $unit; ?></th>
			<?php foreach ($this->data['viewby'] as $viewby =>
$value) { ?>
				<?php if (isset($this->data['viewby'][$viewby][$unit]))
{ ?>
				<td><?php echo
number_format($this->data['viewby'][$viewby][$unit], 2,
'.', ''); ?></td>
				<?php } else { ?>
				<td>0</td>
				<?php } ?>
			<?php } ?>
		</tr>
		<?php } ?>
		</tbody>
	</table>
</div>

<table class="adminlist table table-striped">
	<thead>
	<tr>
		<th width="5"><?php echo
JText::_('RST_MIN'); ?></th>
		<th width="5"><?php echo
JText::_('RST_AVG'); ?></th>
		<th width="5"><?php echo
JText::_('RST_MAX'); ?></th>
		<th width="5"><?php echo
JText::_('RST_TOTAL'); ?></th>
	</tr>
	</thead>
	<tr class="row0">
		<td align="center"><?php echo $this->min;
?></td>
		<td align="center"><?php echo $this->avg;
?></td>
		<td align="center"><?php echo $this->max;
?></td>
		<td align="center"><?php echo $this->total;
?></td>
	</tr>
</table>views/reports/tmpl/report_4.php000064400000003250151165644110012626
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

if (empty($this->data['units'])) { ?>
	<h2><?php echo JText::_('RST_NO_DATA');
?></h2>
	<?php return; } ?>
<div align="center">
	<h2><?php echo JText::_('RST_REPORT_4');
?></h2>
</div>

<div id="rst_report_container">
	<table id="rst_reports_table">
		<thead>
			<tr>
				<th scope="col"></th>
				<?php foreach ($this->data['viewby'] as $viewby =>
$values) { ?><th scope="col"><?php echo $viewby;
?></th><?php } ?>
			</tr>
		</thead>
		<tbody>
		<?php foreach ($this->data['units'] as $unit) { ?>
		<tr>
			<th scope="row"><?php echo $unit; ?></th>
			<?php foreach ($this->data['viewby'] as $viewby =>
$value) { ?>
				<?php if (isset($this->data['viewby'][$viewby][$unit]))
{ ?>
				<td><?php echo
number_format($this->data['viewby'][$viewby][$unit], 2,
'.', ''); ?></td>
				<?php } else { ?>
				<td>0</td>
				<?php } ?>
			<?php } ?>
		</tr>
		<?php } ?>
		</tbody>
	</table>
</div>

<table class="adminlist table table-striped">
	<thead>
	<tr>
		<th width="5"><?php echo
JText::_('RST_MIN'); ?></th>
		<th width="5"><?php echo
JText::_('RST_AVG'); ?></th>
		<th width="5"><?php echo
JText::_('RST_MAX'); ?></th>
		<th width="5"><?php echo
JText::_('RST_TOTAL'); ?></th>
	</tr>
	</thead>
	<tr class="row0">
		<td align="center"><?php echo $this->min;
?></td>
		<td align="center"><?php echo $this->avg;
?></td>
		<td align="center"><?php echo $this->max;
?></td>
		<td align="center"><?php echo $this->total;
?></td>
	</tr>
</table>views/reports/tmpl/report_5.php000064400000003066151165644110012634
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

if (empty($this->data['units'])) { ?>
	<h2><?php echo JText::_('RST_NO_DATA');
?></h2>
	<?php return; } ?>
<div align="center">
	<h2><?php echo JText::_('RST_REPORT_5');
?></h2>
</div>

<div id="rst_report_container">
	<table id="rst_reports_table">
		<thead>
			<tr>
				<th scope="col"></th>
				<?php foreach ($this->data['viewby'] as $viewby =>
$values) { ?><th scope="col"><?php echo $viewby;
?></th><?php } ?>
			</tr>
		</thead>
		<tbody>
		<?php foreach ($this->data['units'] as $unit) { ?>
		<tr>
			<th scope="row"><?php echo $unit; ?></th>
			<?php foreach ($this->data['viewby'] as $viewby =>
$value) { ?>
				<?php if (isset($this->data['viewby'][$viewby][$unit]))
{ ?>
				<td><?php echo
number_format($this->data['viewby'][$viewby][$unit], 2,
'.', ''); ?></td>
				<?php } else { ?>
				<td>0</td>
				<?php } ?>
			<?php } ?>
		</tr>
		<?php } ?>
		</tbody>
	</table>
</div>

<table class="adminlist table table-striped">
	<thead>
	<tr>
		<th width="5"><?php echo
JText::_('RST_MIN'); ?></th>
		<th width="5"><?php echo
JText::_('RST_AVG'); ?></th>
		<th width="5"><?php echo
JText::_('RST_MAX'); ?></th>
	</tr>
	</thead>
	<tr class="row0">
		<td align="center"><?php echo $this->min;
?></td>
		<td align="center"><?php echo $this->avg;
?></td>
		<td align="center"><?php echo $this->max;
?></td>
	</tr>
</table>views/reports/tmpl/report_6.php000064400000003022151165644110012625
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

if (empty($this->data['units'])) { ?>
	<h2><?php echo JText::_('RST_NO_DATA');
?></h2>
	<?php return; } ?>
<div align="center">
	<h2><?php echo JText::_('RST_REPORT_6');
?></h2>
</div>

<div id="rst_report_container">
	<table id="rst_reports_table">
		<thead>
			<tr>
				<th scope="col"></th>
				<?php foreach ($this->data['staff'] as $staff =>
$values) { ?><th scope="col"><?php echo $staff;
?></th><?php } ?>
			</tr>
		</thead>
		<tbody>
		<?php foreach ($this->data['units'] as $unit) { ?>
		<tr>
			<th scope="row"><?php echo $unit; ?></th>
			<?php foreach ($this->data['staff'] as $staff =>
$value) { ?>
				<?php if (isset($this->data['staff'][$staff][$unit])) {
?>
				<td><?php echo
$this->data['staff'][$staff][$unit]; ?></td>
				<?php } else { ?>
				<td>0</td>
				<?php } ?>
			<?php } ?>
		</tr>
		<?php } ?>
		</tbody>
	</table>
</div>

<table class="adminlist table table-striped">
	<thead>
	<tr>
		<th width="5"><?php echo
JText::_('RST_MIN'); ?></th>
		<th width="5"><?php echo
JText::_('RST_AVG'); ?></th>
		<th width="5"><?php echo
JText::_('RST_MAX'); ?></th>
	</tr>
	</thead>
	<tr class="row0">
		<td align="center"><?php echo $this->min;
?></td>
		<td align="center"><?php echo $this->avg;
?></td>
		<td align="center"><?php echo $this->max;
?></td>
	</tr>
</table>views/reports/view.html.php000064400000001730151165644110012032
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewReports extends JViewLegacy
{
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();

		$this->plain	= $this->get('RSPlain');
		$this->options	= $this->get('Options');
        $this->form     = $this->get('Form');
		$this->count_departments	=
$this->get('countDepartments');
		$this->count_staff			= $this->get('countStaff');

		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('reports');
		
		JToolBar::getInstance('toolbar')->appendButton('Link',
'refresh', 'RST_BACK',
'index.php?option=com_rsticketspro');
	}
}views/reports/view.raw.php000064400000001034151165644110011654
0ustar00<?php
/**
* @version 2.0.0
* @package RSTickets! Pro 2.0.0
* @copyright (C) 2010 www.rsjoomla.com
* @license GPL, http://www.gnu.org/licenses/gpl-2.0.html
*/

defined('_JEXEC') or die('Restricted access');


class RsticketsproViewReports extends JViewLegacy
{
	public function display($tpl = null) {
		$this->data		= $this->get('reportdata');
		$this->min		= $this->get('min');
		$this->avg		= $this->get('avg');
		$this->max		= $this->get('max');
		$this->total	= $this->get('total');
		
		parent::display($tpl);
	}
}views/rsticketspro/index.html000064400000000054151165644110012435
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/rsticketspro/tmpl/default.php000064400000011253151165644110013554
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('stylesheet',
'com_rsticketspro/admin/dashboard.css',
array('relative' => true, 'version' =>
'auto'));
?>
<form action="index.php" method="post"
name="adminForm" id="adminForm">
	<?php echo RsticketsproAdapterGrid::sidebar(); ?>
		<div id="dashboard-left">
			<?php
			$rows = array_chunk($this->buttons, 4);
			foreach ($rows as $buttons)
			{
				?>
				<div class="dashboard-container">
					<?php
					foreach ($buttons as $button)
					{
						if ($button['access'])
						{
							?>
							<div class="dashboard-info dashboard-button">
								<a <?php if (!empty($button['target'])) { ?>
target="<?php echo $this->escape($button['target']);
?>"<?php } ?> href="<?php echo
$button['link']; ?>"><i class="dashboard-icon
rsticketsproicon-<?php echo $button['icon'];
?>"></i><span
class="dashboard-title"><?php echo
$button['text']; ?></span>
								</a>
							</div>
							<?php
						}
					}
					?>
				</div>
				<?php
			}
			?>
			<h3><?php echo JText::_('RST_KNOWLEDGEBASE');
?></h3>
			<?php
			$rows = array_chunk($this->kbbuttons, 4);
			foreach ($rows as $buttons)
			{
				?>
				<div class="dashboard-container">
					<?php
					foreach ($buttons as $button)
					{
						if ($button['access'])
						{
							?>
							<div class="dashboard-info dashboard-button">
								<a <?php if (!empty($button['target'])) { ?>
target="<?php echo $this->escape($button['target']);
?>"<?php } ?> href="<?php echo
$button['link']; ?>"><i class="dashboard-icon
rsticketsproicon-<?php echo $button['icon'];
?>"></i><span
class="dashboard-title"><?php echo
$button['text']; ?></span>
								</a>
							</div>
							<?php
						}
					}
					?>
				</div>
				<?php
			}
			?>
		</div>
		<div id="dashboard-right" class="hidden-phone
hidden-tablet">
			<div class="dashboard-container">
				<div class="dashboard-info">
					<?php echo JHtml::_('image',
'com_rsticketspro/admin/rsticketspro.png', 'RSTickets!
Pro', array(), true); ?>
					<table class="dashboard-table">
						<tr>
							<td nowrap="nowrap"><strong><?php echo
JText::_('COM_RSTICKETSPRO_PRODUCT_VERSION') ?>:
</strong></td>
							<td nowrap="nowrap">RSTickets! Pro <?php echo
$this->version; ?></td>
						</tr>
						<tr>
							<td nowrap="nowrap"><strong><?php echo
JText::_('COM_RSTICKETSPRO_COPYRIGHT_NAME') ?>:
</strong></td>
							<td nowrap="nowrap">&copy; 2010 - <?php echo
gmdate('Y'); ?> <a
href="https://www.rsjoomla.com"
target="_blank">RSJoomla!</a></td>
						</tr>
						<tr>
							<td nowrap="nowrap"><strong><?php echo
JText::_('COM_RSTICKETSPRO_LICENSE_NAME') ?>:
</strong></td>
							<td nowrap="nowrap"><a
href="https://www.gnu.org/licenses/gpl.html"
target="_blank">GNU/GPL</a>
Commercial</a></td>
						</tr>
						<tr>
							<td nowrap="nowrap"><strong><?php echo
JText::_('COM_RSTICKETSPRO_UPDATE_CODE') ?>:
</strong></td>
							<?php if (strlen($this->code) == 20) { ?>
								<td nowrap="nowrap"
class="correct-code"><?php echo
$this->escape($this->code); ?></td>
							<?php } elseif ($this->code) { ?>
								<td nowrap="nowrap"
class="incorrect-code"><?php echo
$this->escape($this->code); ?>
									<br />
									<strong><a
href="https://www.rsjoomla.com/support/documentation/general-faq/where-do-i-find-my-license-code-.html"
target="_blank"><?php echo
JText::_('COM_RSTICKETSPRO_WHERE_DO_I_FIND_THIS');
?></a></strong>
								</td>
							<?php } else { ?>
								<td nowrap="nowrap"
class="missing-code"><a href="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=configuration');
?>"><?php echo
JText::_('COM_RSTICKETSPRO_PLEASE_ENTER_YOUR_CODE_IN_THE_CONFIGURATION');
?></a>
									<br />
									<strong><a
href="https://www.rsjoomla.com/support/documentation/general-faq/where-do-i-find-my-license-code-.html"
target="_blank"><?php echo
JText::_('COM_RSTICKETSPRO_WHERE_DO_I_FIND_THIS');
?></a></strong>
								</td>
							<?php } ?>
						</tr>
					</table>
				</div>
			</div>
			<p class="text-center center"><a
href="https://www.rsjoomla.com/joomla-components/joomla-security.html?utm_source=rsticketspro&amp;utm_medium=banner_approved&amp;utm_campaign=rsfirewall"
target="_blank"><?php echo JHtml::_('image',
'com_rsticketspro/admin/rsfirewall-approved.png',
'RSFirewall! Approved', array(), true);
?></a></p>
		</div>
	</div>
	
	<input type="hidden" name="option"
value="com_rsticketspro" />
	<input type="hidden" name="task" value=""
/>
</form>views/rsticketspro/tmpl/index.html000064400000000054151165644110013411
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/rsticketspro/view.html.php000064400000002010151165644110013060
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewRsticketspro extends JViewLegacy
{
	protected $buttons;
	// version info
	protected $code;
	protected $version;
	
	public function display($tpl = null)
	{
		$this->addToolbar();
		
		$this->buttons  	= $this->get('Buttons');
		$this->kbbuttons  	= $this->get('Kbbuttons');
		$this->code			= $this->get('code');
		$this->version		= (string) new RSTicketsProVersion();
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		if (JFactory::getUser()->authorise('core.admin',
'com_rsticketspro'))
		{
			JToolbarHelper::preferences('com_rsticketspro');
		}

		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('rsticketspro');
	}
}views/staff/index.html000064400000000054151165644110011004
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/staff/tmpl/edit.php000064400000001662151165644110011427
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=staff&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/staff/tmpl/index.html000064400000000054151165644110011760
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/staff/view.html.php000064400000001727151165644110011445
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewStaff extends JViewLegacy
{
	protected $form;
	protected $item;
	protected $field;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('staffs');
		
		JToolbarHelper::apply('staff.apply');
		JToolbarHelper::save('staff.save');
		JToolbarHelper::save2new('staff.save2new');
		JToolbarHelper::cancel('staff.cancel');
	}
}views/staffs/index.html000064400000000054151165644110011167
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/staffs/tmpl/default.php000064400000006175151165644110012315
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

$canEdit  	= JFactory::getUser()->authorise('staff.edit',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=staffs');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
	?>
	<div class="alert alert-info">
		<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
		<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
	</div>
	<?php
	}
	else
	{
		?>
		<table class="table table-striped">
			<thead>
				<tr>
					<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'JGLOBAL_USERNAME', 'username', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_NAME', 'name', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'JGLOBAL_EMAIL', 'email', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_GROUP', 'group_name', $listDirn, $listOrder);
?></th>
					<th><?php echo JHtml::_('searchtools.sort',
'RST_PRIORITY', 'priority_name', $listDirn,
$listOrder); ?></th>
					<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'u.id',
$listDirn, $listOrder); ?></th>
				</tr>
			</thead>
			<tbody>
			<?php
			foreach ($this->items as $i => $item)
			{
			?>
				<tr>
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=staff.edit&id='.(int)
$item->id), $this->escape($item->username));
						}
						else
						{
							echo $this->escape($item->username);
						}
						?>
					</td>
					<td><?php echo $this->escape($item->name);
?></td>
					<td><?php echo $this->escape($item->email);
?></td>
					<td><?php echo $this->escape($item->group_name);
?></td>
					<td>
						<?php if ($item->priority_id) { ?>
							<?php echo $item->priority_name != '' ?
$this->escape(JText::_($item->priority_name)) :
JText::_('RST_NO_TITLE'); ?>
						<?php } else { ?>
							<?php echo JText::_('RST_ALL_PRIORITIES'); ?>
						<?php } ?>
					</td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/staffs/tmpl/index.html000064400000000054151165644110012143
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/staffs/view.html.php000064400000002445151165644120011627
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewStaffs extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');

		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('staffs');

		$user = JFactory::getUser();

		if ($user->authorise('staff.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('staff.add');
		}
		if ($user->authorise('staff.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('staff.edit');
		}
		if ($user->authorise('staff.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'staffs.delete');
		}
	}
}views/status/index.html000064400000000054151165644120011225
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/status/tmpl/edit.php000064400000001663151165644120011651
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=status&layout=edit&id='.(int)
$this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-horizontal">
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>
	
	<div>
		<?php echo JHtml::_('form.token'); ?>
		<input type="hidden" name="task"
value="" />
	</div>
</form>views/status/tmpl/index.html000064400000000054151165644120012201
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/status/view.html.php000064400000001774151165644120011670
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewStatus extends JViewLegacy
{
	protected $form;
	protected $item;
	
	public function display($tpl = null)
	{
		JFactory::getApplication()->input->set('hidemainmenu',
true);

		$this->addToolbar();
		
		$this->form	= $this->get('Form');
		$this->item	= $this->get('Item');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('statuses');
		
		JToolbarHelper::apply('status.apply');
		JToolbarHelper::save('status.save');
		JToolbarHelper::save2new('status.save2new');
		JToolbarHelper::save2copy('status.save2copy');
		JToolbarHelper::cancel('status.cancel');
	}
}views/statuses/index.html000064400000000054151165644120011555
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/statuses/tmpl/default.php000064400000007666151165644120012711
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JFactory::getApplication()->enqueueMessage(JText::_('RST_STATUS_TRANSLATE'));

$canEdit  	= JFactory::getUser()->authorise('status.state',
'com_rsticketspro');
$canChange  =
JFactory::getUser()->authorise('status.edit.state',
'com_rsticketspro');
$listOrder 	=
$this->escape($this->state->get('list.ordering'));
$listDirn 	=
$this->escape($this->state->get('list.direction'));
$saveOrder	= $listOrder == 'ordering' && $canChange;

if ($saveOrder)
{
	$saveOrderingUrl =
'index.php?option=com_rsticketspro&task=statuses.saveOrderAjax&tmpl=component';
	JHtml::_('sortablelist.sortable', 'articleList',
'adminForm', strtolower($listDirn), $saveOrderingUrl);
}
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=statuses');
?>" method="post" name="adminForm"
id="adminForm">
	<?php
	echo RsticketsproAdapterGrid::sidebar();

	echo JLayoutHelper::render('joomla.searchtools.default',
array('view' => $this));

	if (empty($this->items))
	{
		?>
		<div class="alert alert-info">
			<span class="fa fa-info-circle"
aria-hidden="true"></span><span
class="sr-only"><?php echo JText::_('INFO');
?></span>
			<?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS'); ?>
		</div>
		<?php
	}
	else
	{
		?>
		<table class="table table-striped"
id="articleList">
			<thead>
			<tr>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.checkall'); ?></th>
				<th style="width:1%" class="nowrap
text-center"><?php echo JHtml::_('searchtools.sort',
'', 'ordering', $listDirn, $listOrder, null,
'asc', 'JGRID_HEADING_ORDERING',
'icon-menu-2'); ?>
				<th><?php echo JHtml::_('searchtools.sort',
'RST_STATUS', 'name', $listDirn, $listOrder);
?></th>
				<th width="1%" nowrap="nowrap"><?php echo
JHtml::_('searchtools.sort', 'JPUBLISHED',
'published', $listDirn, $listOrder); ?></th>
				<th width="1%"><?php echo
JHtml::_('searchtools.sort', 'ID', 'id',
$listDirn, $listOrder); ?></th>
			</tr>
			</thead>
			<tbody <?php if ($saveOrder) { ?>
class="js-draggable" data-url="<?php echo
$saveOrderingUrl; ?>" data-direction="<?php echo
strtolower($listDirn); ?>" data-nested="false"<?php }
?>>
			<?php
			foreach ($this->items as $i => $item)
			{
				?>
				<tr data-draggable-group="1">
					<td width="1%" nowrap="nowrap"><?php echo
JHtml::_('grid.id', $i, $item->id); ?></td>
					<td class="order center">
						<?php
						$disableClassName = '';
						$disabledLabel	  = '';

						if (!$saveOrder)
						{
							$disabledLabel    = JText::_('JORDERINGDISABLED');
							$disableClassName = 'inactive';
						}
						?>
						<span class="sortable-handler <?php echo
$disableClassName; ?>" title="<?php echo $disabledLabel;
?>">
							<i class="icon-menu"></i>
						</span>
						<input type="text" style="display:none"
name="order[]" size="5" value="<?php echo
$item->ordering; ?>" class="width-20 text-area-order"
/>
					</td>
					<td>
						<?php
						if ($canEdit)
						{
							echo JHtml::_('link',
JRoute::_('index.php?option=com_rsticketspro&task=status.edit&id='.(int)
$item->id), $this->escape($item->name));
						}
						else
						{
							echo $this->escape($item->name);
						}
						?>
					</td>
					<td width="1%" nowrap="nowrap"
align="center"><?php echo
JHtml::_('jgrid.published', $item->published, $i,
'statuses.', $canChange && $item->id > 3);
?></td>
					<td width="1%"><?php echo
$this->escape($item->id); ?></td>
				</tr>
				<?php
			}
			?>
			</tbody>
		</table>
		<?php
		echo $this->pagination->getListFooter();
	}
	?>
	
	<div>
		<?php echo JHtml::_( 'form.token' ); ?>
		<input type="hidden" name="boxchecked"
value="0" />
		<input type="hidden" name="task"
value="" />
	</div>
	</div>
</form>views/statuses/tmpl/index.html000064400000000054151165644120012531
0ustar00<html><body
bgcolor="#FFFFFF"></body></html>views/statuses/view.html.php000064400000003032151165644120012205
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

class RsticketsproViewStatuses extends JViewLegacy
{
	protected $items;
	protected $pagination;
	protected $state;
	
	public function display($tpl = null)
	{
		$this->addToolbar();

		$this->items 		 = $this->get('Items');
		$this->pagination 	 = $this->get('Pagination');
		$this->state 		 = $this->get('State');
		$this->filterForm    = $this->get('FilterForm');
		$this->activeFilters = $this->get('ActiveFilters');
		
		parent::display($tpl);
	}
	
	protected function addToolbar()
	{
		// set title
		JToolbarHelper::title('RSTickets! Pro',
'rsticketspro');

		RSTicketsProToolbarHelper::addToolbar('statuses');

		$user = JFactory::getUser();

		if ($user->authorise('status.create',
'com_rsticketspro'))
		{
			JToolbarHelper::addNew('status.add');
		}
		if ($user->authorise('status.edit',
'com_rsticketspro'))
		{
			JToolbarHelper::editList('status.edit');
		}
		if ($user->authorise('status.edit.state',
'com_rsticketspro'))
		{
			JToolbarHelper::publish('statuses.publish',
'JTOOLBAR_PUBLISH', true);
			JToolbarHelper::unpublish('statuses.unpublish',
'JTOOLBAR_UNPUBLISH', true);
		}
		if ($user->authorise('status.delete',
'com_rsticketspro'))
		{
			JToolbarHelper::deleteList('RST_CONFIRM_DELETE',
'statuses.delete');
		}
	}
}views/ticketmessage/tmpl/edit.php000064400000002154151165644130013153
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.keepalive');
JHtml::_('behavior.formvalidator');

// Load JavaScript message titles
JText::script('ERROR');
JText::script('WARNING');
JText::script('NOTICE');
JText::script('MESSAGE');
?>
<form action="<?php echo
JRoute::_('index.php?option=com_rsticketspro&view=ticketmessage&tmpl=component&layout=edit&id='
. (int) $this->item->id); ?>" method="post"
name="adminForm" id="adminForm"
class="form-validate form-vertical">
	<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('ticketmessage.apply');"><i
class="icon-apply icon-white"></i> <?php echo
JText::_('JAPPLY'); ?></button>
	<?php
	foreach ($this->form->getFieldsets() as $fieldset)
	{
		echo $this->form->renderFieldset($fieldset->name);
	}
	?>

	<?php echo JHtml::_('form.token'); ?>
	<input type="hidden" name="task" value=""
/>
</form>views/tickets/tmpl/default_bulk_body.php000064400000002167151165644130014526
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die;
?>
<div class="container">
	<div class="text-center">
		<?php
		if ($this->permissions->move_ticket)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_department_id')->input .
'</div>';
		}
		if ($this->permissions->assign_tickets)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_staff_id')->input .
'</div>';
		}
		if ($this->permissions->update_ticket)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_priority_id')->input .
'</div>';
		}
		if ($this->permissions->change_ticket_status)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_status_id')->input .
'</div>';
		}

		if ($this->autocloseEnabled)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_notify')->input .
'</div>';
		}

		if ($this->permissions->delete_ticket)
		{
			echo '<div>' .
$this->bulkForm->getField('bulk_delete')->input .
'</div>';
		}
		?>
	</div>
</div>
views/tickets/tmpl/default_bulk_footer.php000064400000001045151165644130015061
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die;
?>
<button type="button" class="btn btn-secondary"
data-bs-dismiss="modal" data-dismiss="modal">
	<?php echo JText::_('JCANCEL'); ?>
</button>
<button type="button" class="btn btn-success"
onclick="Joomla.submitbutton('ticket.bulkupdate');">
	<?php echo JText::_('RST_UPDATE'); ?>
</button>