summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6e7c37f)
raw | patch | inline | side by side (parent: 6e7c37f)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Thu, 24 Jan 2008 10:15:18 +0000 (10:15 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Thu, 24 Jan 2008 10:15:18 +0000 (10:15 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@8583 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-core/include/class_gosaSupportDaemon.inc | patch | blob | history |
diff --git a/gosa-core/include/class_gosaSupportDaemon.inc b/gosa-core/include/class_gosaSupportDaemon.inc
index b3b66fd7864a182b84eecbf154fabb7dd9dd2b85..7c15430ecab66becf5fc9c60e0d44fd3744b2d89 100644 (file)
/*! \brief Creates a new gosaSupportDaemon object.
- @param string Host The Host where the deamon is running on.
- @param integer Port The port which the deamon use.
- @param string Key The encryption string.
- @param boolean Connect Directly connect to deamon socket.
- @param float Timeout The timelimit for all socket actions.
+ @param string Host The Host where the deamon is running on.
+ @param integer Port The port which the deamon use.
+ @param string Key The encryption string.
+ @param boolean Connect Directly connect to deamon socket.
+ @param float Timeout The timelimit for all socket actions.
*/
public function __construct($host,$port,$key="secret-gosa-password",$connect=TRUE,$timeout=0.2)
{
/*! \brief Establish deamon connection.
- @return boolean Returns true if the connection was succesfully established.
+ @return boolean Returns true if the connection was succesfully established.
*/
public function connect()
{
/*! \brief Sets an error message, which can be returned with get_error().
- @param string The Error message,
+ @param string The Error message,
*/
private function set_error($str)
{
/*! \brief Checks if an error occured.
- @return boolean returns TRUE or FALSE, whether there is an error or not.
+ @return boolean returns TRUE or FALSE, whether there is an error or not.
*/
public function is_error()
{
/*! \brief Returns the last error.
- @return Returns the last error.
+ @return Returns the last error.
*/
public function get_error()
{
/*! \brief Returns an array containing all queued entries.
- @return Array All queued entries as an array.
+ @return Array All queued entries as an array.
*/
public function get_queued_entries($from=0,$to=10)
{
$xml_msg = "<xml>
- <header>gosa_query_jobdb</header>
- <where>
- <clause>
- <connector>and</connector>
- <phrase>
- <operator>gt</operator>
- <ROWID>".$from."</ROWID>
- </phrase>
- <phrase>
- <operator>lt</operator>
- <ROWID>".$to."</ROWID>
- </phrase>
- </clause>
- </where>
- </xml>";
+ <header>gosa_query_jobdb</header>
+ <where>
+ <clause>
+ <connector>and</connector>
+ <phrase>
+ <operator>gt</operator>
+ <ROWID>-1</ROWID>
+ </phrase>
+ </clause>
+ </where>
+ <limit>
+ <from>".$from."</from>
+ <to>".$to."</to>
+ </limit>
+ </xml>";
$this->connect();
if($this->is_connected){
return;
}
+ /*! \brief Checks if the given ids are used queue ids.
+ @param Array The ids we want to check..
+ @return Array An array containing all ids as index and TRUE/FALSE as value.
+ */
+ public function ids_exist($ids)
+ {
+ if(!is_array($ids)){
+ trigger_error("Requires an array as parameter.");
+ return;
+ }
+ $this->b_error = FALSE;
+ $this->s_error = "";
+
+ $ret = array();
+
+ $xml_msg = "<xml>
+ <header>gosa_query_jobdb</header>
+ <where>
+ <clause>
+ <connector>or</connector>";
+ foreach($ids as $id){
+ $xml_msg .= "<phrase>
+ <operator>eq</operator>
+ <id>".$id."</id>
+ </phrase>";
+ }
+ $xml_msg .= "</clause>
+ </where>
+ </xml>";
+
+ $this->connect();
+ if(!$this->is_connected){
+ $this->set_error("Could not establish socket connection.");
+ }else{
+ $this->o_sock->write($xml_msg);
+ $str = trim($this->o_sock->read());
+ $entries = $this->xml_to_array($str);
+ if(isset($entries['XML'])){
+ foreach($entries['XML'] as $entry){
+ $ret[] = $entry['ID'];
+ }
+ $this->disconnect();
+ return($ret);
+ }
+ }
+ $this->disconnect();
+ return(FALSE);
+ }
+
+
+ /*! \brief Returns an entry containing all requested ids.
+ @param Array The IDs of the entries we want to return.
+ @return Array Of the requested entries.
+ */
+ public function get_entries_by_id($ids)
+ {
+ if(!is_array($ids)){
+ trigger_error("Requires an array as parameter.");
+ return;
+ }
+ $this->b_error = FALSE;
+ $this->s_error = "";
+
+ $ret = array();
+
+ $xml_msg = "<xml>
+ <header>gosa_query_jobdb</header>
+ <where>
+ <clause>
+ <connector>or</connector>";
+ foreach($ids as $id){
+ $xml_msg .= "<phrase>
+ <operator>eq</operator>
+ <id>".$id."</id>
+ </phrase>";
+ $ret[$id] = FALSE;
+ }
+ $xml_msg .= "</clause>
+ </where>
+ </xml>";
+
+ $this->connect();
+ if(!$this->is_connected){
+ $this->set_error("Could not establish socket connection.");
+ }else{
+ $this->o_sock->write($xml_msg);
+ $str = trim($this->o_sock->read());
+ $entries = $this->xml_to_array($str);
+ if(!isset($entries['XML'])){
+ $this->set_error("Entry with id (".$id.") not found.");
+ $this->disconnect();
+ }else{
+ $ret = $entries['XML'];
+ return($ret);
+ }
+ }
+ return;
+ }
+
/*! \brief Checks if the given id is in use.
- @param Integer The ID of the entry.
- @return Boolean TRUE if entry exists.
+ @param Integer The ID of the entry.
+ @return Boolean TRUE if entry exists.
*/
public function id_exists($id)
{
if(!is_numeric($id)){
- trigger_error("gosaSupportDaemon::get_entry() requires an integer value as ID parameter.");
+ trigger_error("Requires an integer as parameter.");
return;
}
$this->b_error = FALSE;
$this->s_error = "";
$xml_msg = "<xml>
- <header>gosa_query_jobdb</header>
- <where>
- <clause>
- <phrase>
- <operator>eq</operator>
- <id>".$id."</id>
- </phrase>
- </clause>
- </where>
- </xml>";
+ <header>gosa_query_jobdb</header>
+ <where>
+ <clause>
+ <phrase>
+ <operator>eq</operator>
+ <id>".$id."</id>
+ </phrase>
+ </clause>
+ </where>
+ </xml>";
$this->connect();
if(!$this->is_connected){
$this->set_error("Could not establish socket connection.");
return(FALSE);
}
-
+
/*! \brief Returns an entry from the gosaSupportQueue
- @param Integer The ID of the entry we want to return.
- @return Array Of the requested entry.
+ @param Integer The ID of the entry we want to return.
+ @return Array Of the requested entry.
*/
- public function get_entry($id)
+ public function get_entry_by_id($id)
{
if(!is_numeric($id)){
- trigger_error("gosaSupportDaemon::get_entry() requires an integer value as ID parameter.");
+ trigger_error("Requires an integer as parameter.");
return;
}
$this->b_error = FALSE;
$this->s_error = "";
$xml_msg = "<xml>
- <header>gosa_query_jobdb</header>
- <where>
- <clause>
- <phrase>
- <operator>eq</operator>
- <id>".$id."</id>
- </phrase>
- </clause>
- </where>
- </xml>";
+ <header>gosa_query_jobdb</header>
+ <where>
+ <clause>
+ <phrase>
+ <operator>eq</operator>
+ <id>".$id."</id>
+ </phrase>
+ </clause>
+ </where>
+ </xml>";
$this->connect();
if(!$this->is_connected){
$this->set_error("Could not establish socket connection.");
}
+ /*! \brief Removes a set of entries from the GOsa support queue.
+ @param Array The IDs to remove.
+ @return Boolean True on success.
+ */
+ public function remove_entries($ids)
+ {
+ if(!is_array($ids)){
+ trigger_error("Requires an array as parameter.");
+ return;
+ }
+ $this->b_error = FALSE;
+ $this->s_error = "";
+
+ $ret = array();
+
+ $xml_msg = "<xml>
+ <header>gosa_delete_jobdb_entry</header>
+ <where>
+ <clause>
+ <connector>or</connector>";
+ foreach($ids as $id){
+ $xml_msg .= "<phrase>
+ <operator>eq</operator>
+ <id>".$id."</id>
+ </phrase>";
+ }
+ $xml_msg .= "</clause>
+ </where>
+ </xml>";
+ $this->b_error = FALSE;
+ $this->s_error = "";
+
+ $this->connect();
+ if($this->is_connected){
+ $this->o_sock->write($xml_msg);
+ return(TRUE);
+ }
+ $this->set_error("Could not establish socket connection.");
+ return(FALSE);
+ }
+
+
+
/*! \brief Removes an entry from the GOsa support queue.
- @param Integer The ID of the entry we want to remove.
- @return Boolean True on success.
+ @param Integer The ID of the entry we want to remove.
+ @return Boolean True on success.
*/
public function remove_entry($id)
{
$this->s_error = "";
$xml_msg = "<xml>
- <header>gosa_delete_jobdb_entry</header>
- <where>
- <clause>
- <phrase>
- <operator>eq</operator>
- <id>".$id."</id>
- </phrase>
- </clause>
- </where>
- </xml>";
+ <header>gosa_delete_jobdb_entry</header>
+ <where>
+ <clause>
+ <phrase>
+ <operator>eq</operator>
+ <id>".$id."</id>
+ </phrase>
+ </clause>
+ </where>
+ </xml>";
$this->connect();
if($this->is_connected){
$this->o_sock->write($xml_msg);
$this->set_error("Could not establish socket connection.");
return(FALSE);
}
-
+
/*! \brief Parses the given xml string into an array
- @param String XML string
- @return Array Returns an array containing the xml structure.
+ @param String XML string
+ @return Array Returns an array containing the xml structure.
*/
function xml_to_array($xml)
{
/*! \brief Updates an entry with a set of new values,
- @param Integer The ID of the entry, we want to update.
- @param Array The variables to update.
- @return Boolean Returns TRUE on success.
+ @param Integer The ID of the entry, we want to update.
+ @param Array The variables to update.
+ @return Boolean Returns TRUE on success.
*/
public function update_entry($id,$entry)
{
}
$xml_msg = "<xml>
- <header>gosa_update_status_jobdb_entry</header>
- <where>
- <id>".$id."</id>
- </where>
- <update>
- ".$attr."
- </update>
- </xml>";
+ <header>gosa_update_status_jobdb_entry</header>
+ <where>
+ <id>".$id."</id>
+ </where>
+ <update>
+ ".$attr."
+ </update>
+ </xml>";
$this->connect();
if($this->is_connected){
$this->o_sock->write($xml_msg);