summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 3a8e39b)
raw | patch | inline | side by side (parent: 3a8e39b)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 14 Apr 2008 07:55:52 +0000 (07:55 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 14 Apr 2008 07:55:52 +0000 (07:55 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@10380 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 b33e59eb82c889809c535dba0359a69b45a1fbc6..5f160733477b1c4b4aae02c7ae594f82a9535981 100644 (file)
}
- public function FAI_get_packages($release,$attrs, $package = array())
+
+
+ public function FAI_get_package_sections($release)
+ {
+ $xml_msg = "<xml><header>gosa_query_packages_list</header><target>GOSA</target><source>GOSA</source>".
+ "<select>distinct section</select>".
+ "<where><clause><phrase><distribution>".$release."</distribution></phrase></clause></where></xml>";
+
+ 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 */
+ foreach(array("HEADER","SOURCE","TARGET","SESSION_ID") as $type){
+ if(isset($entries['XML'][$type])){
+ unset($entries['XML'][$type]);
+ }
+ }
+ $ret = $entries['XML'];
+ }
+ }
+ }
+ return($ret);
+ }
+
+
+ public function FAI_get_packages($release,$attrs,$package,$from=-1,$to=-1)
{
$this->reset_error();
$ret = array();
$attr.= "<select>".$at."</select>";
}
+ /* If no package is given, search for all */
+ if(!count($package)) $package = array("%");
+
+ /* Create limit tag */
+ if($from == -1){
+ $limit ="";
+ }else{
+ $limit = "<limit><from>".$from."</from><to>".$to."</to></limit>";
+ }
+
/* Create list of attributes to fetch */
$pkgs = "";
foreach($package as $pkg){
- $pkgs .="
- <phrase>
- <operator>like</operator>
- <package>".$pkg."</package>
- </phrase>
- ";
-
+ $pkgs .="<phrase><operator>like</operator><package>".$pkg."</package></phrase>";
}
- /* Create Daemon query */
- if(!count($package)){
- $xml_msg = "<xml><header>gosa_query_packages_list</header><target>GOSA</target><source>GOSA</source>".
- $attr.
- "<where><clause><phrase><distribution>".$release."</distribution></phrase></clause></where>
- </xml>";
- }else{
- $xml_msg = "<xml><header>gosa_query_packages_list</header><target>GOSA</target><source>GOSA</source>".
- $attr.
- "<where>
-
- <clause>
- <phrase>
- <distribution>".$release."</distribution>
- </phrase>
- </clause>
-
- <clause>
- <connector>OR</connector>
- ".$pkgs."
- </clause>
- </where>
- <limit><from>0</from><to>100</to></limit>
- </xml>";
- }
+ $xml_msg = "<xml><header>gosa_query_packages_list</header><target>GOSA</target><source>GOSA</source>".
+ $attr.
+ "<where>
+ <clause><phrase><distribution>".$release."</distribution></phrase></clause>
+ <clause><connector>OR</connector>
+ ".$pkgs."
+ </clause>
+ </where>".
+ $limit.
+ "</xml>";
if($this->connect()){
$this->o_sock->write($xml_msg);