<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.freedesk.purplepixie.org/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-gb">
		<id>http://wiki.freedesk.purplepixie.org/w/index.php?action=history&amp;feed=atom&amp;title=Custom_Requests</id>
		<title>Custom Requests - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.freedesk.purplepixie.org/w/index.php?action=history&amp;feed=atom&amp;title=Custom_Requests"/>
		<link rel="alternate" type="text/html" href="http://wiki.freedesk.purplepixie.org/w/index.php?title=Custom_Requests&amp;action=history"/>
		<updated>2026-05-12T22:09:27Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.19.0</generator>

	<entry>
		<id>http://wiki.freedesk.purplepixie.org/w/index.php?title=Custom_Requests&amp;diff=73&amp;oldid=prev</id>
		<title>Dave: Created page with &quot;Custom request modules are the concrete classes which can be used for configured request types as the &quot;concrete class method&quot;.  Requests classes are derived from the RequestBa...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.freedesk.purplepixie.org/w/index.php?title=Custom_Requests&amp;diff=73&amp;oldid=prev"/>
				<updated>2012-08-22T00:03:29Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;Custom request modules are the concrete classes which can be used for configured request types as the &amp;quot;concrete class method&amp;quot;.  Requests classes are derived from the RequestBa...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Custom request modules are the concrete classes which can be used for configured request types as the &amp;quot;concrete class method&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Requests classes are derived from the RequestBase class and this, along with the standard request implementation, are included below.&lt;br /&gt;
&lt;br /&gt;
== RequestBase class ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* -------------------------------------------------------------&lt;br /&gt;
This file is part of FreeDESK&lt;br /&gt;
&lt;br /&gt;
FreeDESK is (C) Copyright 2012 David Cutting&lt;br /&gt;
&lt;br /&gt;
FreeDESK is free software: you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
(at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
FreeDESK is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License&lt;br /&gt;
along with FreeDESK.  If not, see www.gnu.org/licenses&lt;br /&gt;
&lt;br /&gt;
For more information see www.purplepixie.org/freedesk/&lt;br /&gt;
-------------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Abstract Request base class for all request classes&lt;br /&gt;
**/&lt;br /&gt;
abstract class RequestBase&lt;br /&gt;
{&lt;br /&gt;
	/**&lt;br /&gt;
	 * Current FreeDESK instance&lt;br /&gt;
	**/&lt;br /&gt;
	protected $DESK = null;&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Current Request ID&lt;br /&gt;
	**/&lt;br /&gt;
	var $ID = 0;&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Entity Data&lt;br /&gt;
	**/&lt;br /&gt;
	protected $Entity = null;&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Updates&lt;br /&gt;
	**/&lt;br /&gt;
	protected $Updates = null;&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Constructor&lt;br /&gt;
	 * @param mixed &amp;amp;$freeDESK Current FreeDESK instance&lt;br /&gt;
	**/&lt;br /&gt;
	function RequestBase(&amp;amp;$freeDESK)&lt;br /&gt;
	{&lt;br /&gt;
		$this-&amp;gt;DESK = &amp;amp;$freeDESK;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Create a request&lt;br /&gt;
	 * @param int $customer Customer ID&lt;br /&gt;
	 * @param string $update Initial Update&lt;br /&gt;
	 * @param int $class Request Class&lt;br /&gt;
	 * @param int $status Request status&lt;br /&gt;
	 * @param int $priority Priority Code (optional, default 0)&lt;br /&gt;
	 * @param int $group Request Group (optional, default 0)&lt;br /&gt;
	 * @param string $assign Assigned user (optional, default &amp;quot;&amp;quot;)&lt;br /&gt;
	 * @return string Request ID&lt;br /&gt;
	**/&lt;br /&gt;
	abstract function Create($customer, $update, $class, $status, $priority=0, $group=0, $assign=&amp;quot;&amp;quot;);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Update a request&lt;br /&gt;
	 * @param string $update Update text&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	abstract function Update($update, $public=false);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Change a request status&lt;br /&gt;
	 * @param int $status New status&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	abstract function Status($status, $public=false);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Assign a request&lt;br /&gt;
	 * @param int $group Group ID&lt;br /&gt;
	 * @param string $username Username (optional, default &amp;quot;&amp;quot;)&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	abstract function Assign($group, $username=&amp;quot;&amp;quot;, $public=false);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Attach a file&lt;br /&gt;
	 * @param int $fileid File ID&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	abstract function Attach($fileid, $public=false);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Output XML&lt;br /&gt;
	 * @return string xml output&lt;br /&gt;
	 * @param bool $header Put XML header on output (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	abstract function XML($header=false);&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Set an entity value&lt;br /&gt;
	 * @param string $field Field ID&lt;br /&gt;
	 * @param string $value Value&lt;br /&gt;
	**/&lt;br /&gt;
	function Set($field, $value)&lt;br /&gt;
	{&lt;br /&gt;
		if ($this-&amp;gt;Entity == null)&lt;br /&gt;
			$this-&amp;gt;Entity = new Entity($this-&amp;gt;DESK);&lt;br /&gt;
		$this-&amp;gt;Entity-&amp;gt;Set($field, $value);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Get an entity value&lt;br /&gt;
	 * @param string $field Field ID&lt;br /&gt;
	 * @return mixed Value&lt;br /&gt;
	**/&lt;br /&gt;
	function Get($field)&lt;br /&gt;
	{&lt;br /&gt;
		$data = $this-&amp;gt;Entity-&amp;gt;GetData();&lt;br /&gt;
		if (isset($data[$field]))&lt;br /&gt;
			return $data[$field];&lt;br /&gt;
		else&lt;br /&gt;
			return false;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Load updates for our ID&lt;br /&gt;
	**/&lt;br /&gt;
	function LoadUpdates()&lt;br /&gt;
	{&lt;br /&gt;
		$q=&amp;quot;SELECT * FROM &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Table(&amp;quot;update&amp;quot;).&amp;quot; WHERE &amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;requestid&amp;quot;).&amp;quot;=&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($this-&amp;gt;ID).&amp;quot; &amp;quot;;&lt;br /&gt;
		$q.=&amp;quot;ORDER BY &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;updateid&amp;quot;).&amp;quot; DESC&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;Updates = array();&lt;br /&gt;
		&lt;br /&gt;
		$r=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Query($q);&lt;br /&gt;
		&lt;br /&gt;
		while ($row=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;FetchAssoc($r))&lt;br /&gt;
			$this-&amp;gt;Updates[] = $row;&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Free($r);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Get updates&lt;br /&gt;
	 * @return array Updates&lt;br /&gt;
	**/&lt;br /&gt;
	function GetUpdates()&lt;br /&gt;
	{&lt;br /&gt;
		if ($this-&amp;gt;Updates == null)&lt;br /&gt;
			$this-&amp;gt;LoadUpdates();&lt;br /&gt;
		return $this-&amp;gt;Updates;&lt;br /&gt;
	}&lt;br /&gt;
		&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inbuilt Standard Request Class ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* -------------------------------------------------------------&lt;br /&gt;
This file is part of FreeDESK&lt;br /&gt;
&lt;br /&gt;
FreeDESK is (C) Copyright 2012 David Cutting&lt;br /&gt;
&lt;br /&gt;
FreeDESK is free software: you can redistribute it and/or modify&lt;br /&gt;
it under the terms of the GNU General Public License as published by&lt;br /&gt;
the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;
(at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
FreeDESK is distributed in the hope that it will be useful,&lt;br /&gt;
but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;
GNU General Public License for more details.&lt;br /&gt;
&lt;br /&gt;
You should have received a copy of the GNU General Public License&lt;br /&gt;
along with FreeDESK.  If not, see www.gnu.org/licenses&lt;br /&gt;
&lt;br /&gt;
For more information see www.purplepixie.org/freedesk/&lt;br /&gt;
-------------------------------------------------------------- */&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Request class for all standard requests&lt;br /&gt;
**/&lt;br /&gt;
class Request extends RequestBase&lt;br /&gt;
{&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Constructor&lt;br /&gt;
	 * @param mixed &amp;amp;$freeDESK Current FreeDESK instance&lt;br /&gt;
	**/&lt;br /&gt;
	function Request(&amp;amp;$freeDESK)&lt;br /&gt;
	{&lt;br /&gt;
		parent::RequestBase($freeDESK);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Create a request&lt;br /&gt;
	 * @param int $customer Customer ID&lt;br /&gt;
	 * @param string $update Initial Update&lt;br /&gt;
	 * @param int $class Request Class&lt;br /&gt;
	 * @param int $status Initial request status&lt;br /&gt;
	 * @param int $priority Priority code (optional, default 0)&lt;br /&gt;
	 * @param int $group Request Group (optional, default 0)&lt;br /&gt;
	 * @param string $assign Assigned user (optional, default &amp;quot;&amp;quot;)&lt;br /&gt;
	 * @return string Request ID&lt;br /&gt;
	**/&lt;br /&gt;
	function Create($customer, $update, $class, $status, $priority=0, $group=0, $assign=&amp;quot;&amp;quot;)&lt;br /&gt;
	{&lt;br /&gt;
		if (!is_numeric($class))&lt;br /&gt;
			$class=1;&lt;br /&gt;
		$q=&amp;quot;INSERT INTO &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Table(&amp;quot;request&amp;quot;);&lt;br /&gt;
		$q.=&amp;quot;(&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;customer&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;assignteam&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;assignuser&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;class&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;openeddt&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;priority&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;status&amp;quot;).&amp;quot;) &amp;quot;;&lt;br /&gt;
		$q.=&amp;quot;VALUES(&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($customer).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;SafeQuote($group).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;SafeQuote($assign).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;SafeQuote($class).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=&amp;quot;NOW(),&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($priority).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($status).&amp;quot;)&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Query($q);&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;ID = $this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;InsertID();&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;Update($update, true);&lt;br /&gt;
		&lt;br /&gt;
		return $this-&amp;gt;ID;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Update a request&lt;br /&gt;
	 * @param string $update Update text&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	function Update($update, $public=false)&lt;br /&gt;
	{&lt;br /&gt;
		if ($this-&amp;gt;ID &amp;lt;= 0)&lt;br /&gt;
			return false;&lt;br /&gt;
		if ($this-&amp;gt;DESK-&amp;gt;ContextManager-&amp;gt;Session == null)&lt;br /&gt;
			return false;&lt;br /&gt;
		&lt;br /&gt;
		$q=&amp;quot;INSERT INTO &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Table(&amp;quot;update&amp;quot;).&amp;quot;(&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;requestid&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;update&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;public&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;updateby&amp;quot;).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;updatedt&amp;quot;).&amp;quot;) &amp;quot;;&lt;br /&gt;
		$q.=&amp;quot;VALUES(&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($this-&amp;gt;ID).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;SafeQuote($update).&amp;quot;,&amp;quot;;&lt;br /&gt;
		if ($public)&lt;br /&gt;
			$p=1;&lt;br /&gt;
		else&lt;br /&gt;
			$p=0;&lt;br /&gt;
		$q.=$p.&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=&amp;quot;\&amp;quot;&amp;quot;.$this-&amp;gt;DESK-&amp;gt;ContextManager-&amp;gt;Session-&amp;gt;NiceName().&amp;quot;\&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=&amp;quot;NOW())&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Query($q);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Change a request status&lt;br /&gt;
	 * @param int $status New status&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	function Status($status, $public=false)&lt;br /&gt;
	{&lt;br /&gt;
		$list = $this-&amp;gt;DESK-&amp;gt;RequestManager-&amp;gt;StatusList();&lt;br /&gt;
		&lt;br /&gt;
		if (isset($list[$status]))&lt;br /&gt;
		{&lt;br /&gt;
			$q=&amp;quot;UPDATE &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Table(&amp;quot;request&amp;quot;).&amp;quot; SET &amp;quot;;&lt;br /&gt;
			$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;status&amp;quot;).&amp;quot;=&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($status);&lt;br /&gt;
			if ($status == 0)&lt;br /&gt;
				$q.=&amp;quot;,&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;closeddt&amp;quot;).&amp;quot;=NOW()&amp;quot;;&lt;br /&gt;
			$q.=&amp;quot; WHERE &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;requestid&amp;quot;).&amp;quot;=&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($this-&amp;gt;ID);&lt;br /&gt;
			$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Query($q);&lt;br /&gt;
			&lt;br /&gt;
			$update=&amp;quot;Status changed to &amp;quot;.$list[$status];&lt;br /&gt;
			$this-&amp;gt;Update($update, $public);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Assign a request&lt;br /&gt;
	 * @param int $group Group ID&lt;br /&gt;
	 * @param string $username Username (optional, default &amp;quot;&amp;quot;)&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	function Assign($group, $username=&amp;quot;&amp;quot;, $public=false)&lt;br /&gt;
	{&lt;br /&gt;
		$q=&amp;quot;UPDATE &amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Table(&amp;quot;request&amp;quot;).&amp;quot; SET &amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;assignteam&amp;quot;).&amp;quot;=&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($group).&amp;quot;,&amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;assignuser&amp;quot;).&amp;quot;=&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;SafeQuote($username).&amp;quot; WHERE &amp;quot;;&lt;br /&gt;
		$q.=$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Field(&amp;quot;requestid&amp;quot;).&amp;quot;=&amp;quot;.$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Safe($this-&amp;gt;ID);&lt;br /&gt;
		$this-&amp;gt;DESK-&amp;gt;Database-&amp;gt;Query($q);&lt;br /&gt;
		&lt;br /&gt;
		$teams = $this-&amp;gt;DESK-&amp;gt;RequestManager-&amp;gt;TeamList();&lt;br /&gt;
		$users = $this-&amp;gt;DESK-&amp;gt;RequestManager-&amp;gt;UserList();&lt;br /&gt;
		$assign = &amp;quot;&amp;quot;;&lt;br /&gt;
		&lt;br /&gt;
		if (isset($teams[$group]))&lt;br /&gt;
			$assign.=$teams[$group];&lt;br /&gt;
		else if ($group == 0)&lt;br /&gt;
			$assign.=$this-&amp;gt;DESK-&amp;gt;Lang-&amp;gt;Get(&amp;quot;unassigned&amp;quot;);&lt;br /&gt;
		&lt;br /&gt;
		if ($username != &amp;quot;&amp;quot; &amp;amp;&amp;amp; isset($users[$username]))&lt;br /&gt;
		{&lt;br /&gt;
			if ($assign != &amp;quot;&amp;quot;)&lt;br /&gt;
				$assign.=&amp;quot; &amp;amp;gt; &amp;quot;;&lt;br /&gt;
			$assign.=$users[$username];&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		$update = $this-&amp;gt;DESK-&amp;gt;Lang-&amp;gt;Get(&amp;quot;assigned_to&amp;quot;).&amp;quot; &amp;quot;.$assign;&lt;br /&gt;
		&lt;br /&gt;
		$this-&amp;gt;Update($update, $public);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Attach a file&lt;br /&gt;
	 * @param int $fileid File ID&lt;br /&gt;
	 * @param bool $public Public update (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	function Attach($fileid, $public=false)&lt;br /&gt;
	{&lt;br /&gt;
		//&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	/**&lt;br /&gt;
	 * Output XML&lt;br /&gt;
	 * @return string xml output&lt;br /&gt;
	 * @param bool $header Put XML header on output (optional, default false)&lt;br /&gt;
	**/&lt;br /&gt;
	function XML($header=false)&lt;br /&gt;
	{&lt;br /&gt;
		$data = $this-&amp;gt;Entity-&amp;gt;GetData();&lt;br /&gt;
		$xml = new xmlCreate();&lt;br /&gt;
		$xml-&amp;gt;startElement(&amp;quot;request&amp;quot;);&lt;br /&gt;
		$xml-&amp;gt;xmlArray($data);&lt;br /&gt;
		$xml-&amp;gt;endElement(&amp;quot;request&amp;quot;);&lt;br /&gt;
		return $xml-&amp;gt;getXML($header);&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dave</name></author>	</entry>

	</feed>