diff --git a/gosa-core/include/class_gosaSupportDaemon.inc b/gosa-core/include/class_gosaSupportDaemon.inc
index 5f160733477b1c4b4aae02c7ae594f82a9535981..7d8a4f494c94a1a8a041f0909cff547805d6fbcf 100644 (file)
}
+ public function FAI_get_kernels($release)
+ {
+ $xml_msg =
+ "<xml>".
+ "<header>gosa_get_available_kernel</header>".
+ "<source>GOSA</source>".
+ "<target>GOSA</target>".
+ "<release>".$release."</release>".
+ "</xml>";
+
+ $ret = array();
+ if($this->connect()){
+ $this->o_sock->write($xml_msg);
+ $str = trim($this->o_sock->read());
+
+ /* Check if something went wrong while reading */
+ if($this->o_sock->is_error()){
+ $this->set_error($this->o_sock->get_error());
+ return($ret);
+ }
+
+ $entries = $this->xml_to_array($str);
+ if(isset($entries['XML']) && is_array($entries['XML'])){
+
+ /* Check if returned values represent a valid answer */
+ if(isset($entries['XML'])){
+ if(isset($entries['XML']['ERROR_STRING'])) {
+ $this->set_error($entries['XML']['ERROR_STRING']);
+ new log("debug","GOsa-si",
+ get_class($this)."::".__FUNCTION__, array(),
+ "FAILED error was ".$this->get_error());
+ return($ret);
+ }
+
+ /* Unset header tags */
+ $ret = $entries['XML'];
+ foreach($ret as $key => $entry){
+ if(!preg_match("/^answer/i",$key)){
+ unset($ret[$key]);
+ }
+ }
+ }
+ }
+ }
+ return($ret);
+ }
public function FAI_get_package_sections($release)
}
$xml_msg =
-"<xml>
+ "<xml>
<header>gosa_query_jobdb</header>
<target>GOSA</target>
<source>GOSA</source>
".$tags."
<orderby>".$sort."</orderby>";
-if($from != -1 && $to != -1){
-$xml_msg.= "
- <limit>
- <from>".$from."</from>
- <to>".$to."</to>
- </limit>";
-}
-$xml_msg.= "
+ if($from != -1 && $to != -1){
+ $xml_msg.= "
+ <limit>
+ <from>".$from."</from>
+ <to>".$to."</to>
+ </limit>";
+ }
+ $xml_msg.= "
</xml>";
if($this->connect()){
/*! \brief Returns the number of currently queued objects.
@return Integer
*/
- public function number_of_queued_entries()
+ public function number_of_queued_entries($event_types)
{
+ $tags = "";
+ foreach($event_types as $type){
+ $tags .= "<phrase><headertag>".$type."</headertag></phrase>";
+ }
+ if(count($event_types) > 1){
+ $tags = "<connector>or</connector>".$tags;
+ }
+ if(count($event_types)){
+ $tags = "<where><clause>".$tags."</clause></where>";
+ }
+
+
+ $xml_msg =
+ "<xml>".
+ "<header>gosa_query_jobdb</header>".
+ "<target>GOSA</target>".
+ "<source>GOSA</source>".
+ "<select> count ID</select>".
+ $tags.
+ "</xml>";
+
$xml_msg ="<xml><header>gosa_count_jobdb</header><target>GOSA</target><source>GOSA</source></xml>";
$this->connect();
if($this->connect()){