summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: b6a4e92)
raw | patch | inline | side by side (parent: b6a4e92)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 26 Jul 2010 15:46:29 +0000 (15:46 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 26 Jul 2010 15:46:29 +0000 (15:46 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19118 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/systems/admin/systems/services/class_goService.inc | patch | blob | history |
diff --git a/gosa-plugins/systems/admin/systems/services/class_goService.inc b/gosa-plugins/systems/admin/systems/services/class_goService.inc
index c8fed117786a6a495494a7d9777085319464bf04..402fc89a7ff4dfed27811478813b97af3028fe18 100644 (file)
*/
class goService extends plugin{
-
- /* This plugin only writes its objectClass */
- var $objectclasses = array();
- var $attributes = array();
- var $StatusFlag = "";
-
- /* This class can't be assigned twice so it conflicts with itsself */
- var $conflicts = array();
- var $dn = NULL;
- var $cn = "";
- var $DisplayName = "";
- var $view_logged = FALSE;
-
- var $krb_service_prefix = "";
- var $krb_host_key = NULL;
-
- /* Construcktion */
- function goService(&$config,$dn,$parent = NULL)
- {
- plugin::plugin($config,$dn);
- $this->DisplayName = _("Empty service");
- }
-
-
- /* Create content */
- function execute()
- {
- plugin::execute();
-
- if($this->is_account && !$this->view_logged){
- $this->view_logged = TRUE;
- new log("view","server/".get_class($this),$this->dn);
- }
- $str ="<div style='width:100%; text-align:right;'>".
- " <input type='submit' name='SaveService' value='".msgPool::saveButton()."'> ".
- " <input type='submit' name='CancelService' value='".msgPool::cancelButton()."'>".
- "</div>";
- return($str);
- }
-
-
- /* Get service information for serverService plugin */
- function getListEntry()
- {
-
- $this->updateStatusState();
-
- /* Assign status flag */
- if(!empty($this->StatusFlag)){
- $flag = $this->StatusFlag;
- $fields['Status'] = $this->$flag;
- }else{
- $fields['Status'] = "";
+ /* This plugin only writes its objectClass */
+ var $objectclasses = array();
+ var $attributes = array();
+ var $StatusFlag = "";
+
+ /* This class can't be assigned twice so it conflicts with itsself */
+ var $conflicts = array();
+ var $dn = NULL;
+ var $cn = "";
+ var $DisplayName = "";
+ var $view_logged = FALSE;
+
+ var $krb_service_prefix = "";
+ var $krb_host_key = NULL;
+
+ /* Construcktion */
+ function goService(&$config,$dn,$parent = NULL)
+ {
+ plugin::plugin($config,$dn);
+ $this->DisplayName = _("Empty service");
}
- /* Name displayed in service overview */
- $fields['Message'] = _("Empty service");
-
- /* Allow/disallow some functions */
- $sf = !empty($this->StatusFlag);
- $fields['AllowStart'] = $sf && $this->acl_is_writeable("start");
- $fields['AllowStop'] = $sf && $this->acl_is_writeable("stop");
- $fields['AllowRestart'] = $sf && $this->acl_is_writeable("restart");
- $fields['AllowRemove'] = $this->acl_is_removeable();
- $fields['AllowEdit'] = $this->acl_is_readable("");
- return($fields);
- }
-
-
- /* Remove service */
- function remove_from_parent()
- {
- if(!$this->initially_was_account || !$this->acl_is_removeable()){
- return;
- }
-
- plugin::remove_from_parent();
- /* Remove status flag, it is not a memeber of
- this->attributes, so ensure that it is deleted too */
- if(!empty($this->StatusFlag)){
- $this->attrs[$this->StatusFlag] = array();
+ /* Create content */
+ function execute()
+ {
+ plugin::execute();
+
+ if($this->is_account && !$this->view_logged){
+ $this->view_logged = TRUE;
+ new log("view","server/".get_class($this),$this->dn);
+ }
+
+ $str ="<div style='width:100%; text-align:right;'>".
+ " <input type='submit' name='SaveService' value='".msgPool::saveButton()."'> ".
+ " <input type='submit' name='CancelService' value='".msgPool::cancelButton()."'>".
+ "</div>";
+ return($str);
}
- /* Check if this is a new entry ... add/modify */
- $ldap = $this->config->get_ldap_link();
- $ldap->cat($this->dn,array("objectClass"));
- if($ldap->count()){
- $ldap->cd($this->dn);
- $ldap->modify($this->attrs);
- }else{
- $ldap->cd($this->dn);
- $ldap->add($this->attrs);
-
+
+ /* Get service information for serverService plugin */
+ function getListEntry()
+ {
+
+ $this->updateStatusState();
+
+ /* Assign status flag */
+ if(!empty($this->StatusFlag)){
+ $flag = $this->StatusFlag;
+ $fields['Status'] = $this->$flag;
+ }else{
+ $fields['Status'] = "";
+ }
+
+ /* Name displayed in service overview */
+ $fields['Message'] = _("Empty service");
+
+ /* Allow/disallow some functions */
+ $sf = !empty($this->StatusFlag);
+ $fields['AllowStart'] = $sf && $this->acl_is_writeable("start");
+ $fields['AllowStop'] = $sf && $this->acl_is_writeable("stop");
+ $fields['AllowRestart'] = $sf && $this->acl_is_writeable("restart");
+ $fields['AllowRemove'] = $this->acl_is_removeable();
+ $fields['AllowEdit'] = $this->acl_is_readable("");
+ return($fields);
}
- new log("remove","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
- if (!$ldap->success()){
- msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+ /* Remove service */
+ function remove_from_parent()
+ {
+ if(!$this->initially_was_account || !$this->acl_is_removeable()){
+ return;
+ }
+
+ plugin::remove_from_parent();
+
+ /* Remove status flag, it is not a memeber of
+ this->attributes, so ensure that it is deleted too */
+ if(!empty($this->StatusFlag)){
+ $this->attrs[$this->StatusFlag] = array();
+ }
+
+ /* Check if this is a new entry ... add/modify */
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cat($this->dn,array("objectClass"));
+ if($ldap->count()){
+ $ldap->cd($this->dn);
+ $ldap->modify($this->attrs);
+ }else{
+ $ldap->cd($this->dn);
+ $ldap->add($this->attrs);
+
+ }
+
+ new log("remove","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+
+ if (!$ldap->success()){
+ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+ }
+ $this->handle_post_events("remove");
}
- $this->handle_post_events("remove");
- }
-
-
- /* Save service */
- function save()
- {
- plugin::save();
- /* Check if this is a new entry ... add/modify */
- $ldap = $this->config->get_ldap_link();
- $ldap->cat($this->dn,array("objectClass"));
- if($ldap->count()){
- $ldap->cd($this->dn);
- $ldap->modify($this->attrs);
- }else{
- $ldap->cd($this->dn);
- $ldap->add($this->attrs);
+
+
+ /* Save service */
+ function save()
+ {
+ plugin::save();
+ /* Check if this is a new entry ... add/modify */
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cat($this->dn,array("objectClass"));
+ if($ldap->count()){
+ $ldap->cd($this->dn);
+ $ldap->modify($this->attrs);
+ }else{
+ $ldap->cd($this->dn);
+ $ldap->add($this->attrs);
+ }
+ if($this->initially_was_account){
+ new log("modify","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+ $this->handle_post_events("modify");
+ }else{
+ $this->handle_post_events("add");
+ new log("create","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+ }
+ if (!$ldap->success()){
+ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+ }
}
- if($this->initially_was_account){
- new log("modify","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
- $this->handle_post_events("modify");
- }else{
- $this->handle_post_events("add");
- new log("create","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+
+
+ /* Directly save new status flag */
+ function setStatus($value)
+ {
+ if($value == "none") return;
+
+ /* Can't set status flag for new services (Object doesn't exists in ldap tree) */
+ if(!$this->initially_was_account) return;
+
+ /* Can't set status flag, if no flag is specified */
+ if(empty($this->StatusFlag)){
+ return;
+ }
+
+ /* Get object (server), update status flag and save changes */
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cd($this->dn);
+ $ldap->cat($this->dn,array("objectClass"));
+ if($ldap->count()){
+
+ $tmp = $ldap->fetch();
+ for($i = 0; $i < $tmp['objectClass']['count']; $i ++){
+ $attrs['objectClass'][] = $tmp['objectClass'][$i];
+ }
+ $flag = $this->StatusFlag;
+ $attrs[$flag] = $value;
+ $this->$flag = $value;
+ $ldap->modify($attrs);
+ if (!$ldap->success()){
+ msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()));
+ }
+ $this->action_hook();
+ }
}
- if (!$ldap->success()){
- msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class()));
+
+
+ function check()
+ {
+ $message = plugin::check();
+ return($message);
}
- }
- /* Directly save new status flag */
- function setStatus($value)
- {
- if($value == "none") return;
+ function save_object()
+ {
+ plugin::save_object();
+ }
- /* Can't set status flag for new services (Object doesn't exists in ldap tree) */
- if(!$this->initially_was_account) return;
- /* Can't set status flag, if no flag is specified */
- if(empty($this->StatusFlag)){
- return;
+ function action_hook($addAttrs= array())
+ {
+ $this->callHook('SERVICEACTIONHOOK', $addAttrs);
}
- /* Get object (server), update status flag and save changes */
- $ldap = $this->config->get_ldap_link();
- $ldap->cd($this->dn);
- $ldap->cat($this->dn,array("objectClass"));
- if($ldap->count()){
-
- $tmp = $ldap->fetch();
- for($i = 0; $i < $tmp['objectClass']['count']; $i ++){
- $attrs['objectClass'][] = $tmp['objectClass'][$i];
- }
- $flag = $this->StatusFlag;
- $attrs[$flag] = $value;
- $this->$flag = $value;
- $ldap->modify($attrs);
- if (!$ldap->success()){
- msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, LDAP_MOD, get_class()));
- }
- $this->action_hook();
- }
- }
-
-
- function check()
- {
- $message = plugin::check();
- return($message);
- }
-
-
- function save_object()
- {
- plugin::save_object();
- }
-
-
- function action_hook($addAttrs= array())
- {
- $this->callHook('SERVICEACTIONHOOK', $addAttrs);
- }
-
-
- /* Get updates for status flag */
- function updateStatusState()
- {
- if(empty($this->StatusFlag)) return;
-
- $attrs = array();
- $flag = $this->StatusFlag;
- $ldap = $this->config->get_ldap_link();
- $ldap->cd($this->cn);
- $ldap->cat($this->dn,array($flag));
- if($ldap->count()){
- $attrs = $ldap->fetch();
- }
- if(isset($attrs[$flag][0])){
- $this->$flag = $attrs[$flag][0];
+
+ /* Get updates for status flag */
+ function updateStatusState()
+ {
+ if(empty($this->StatusFlag)) return;
+
+ $attrs = array();
+ $flag = $this->StatusFlag;
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cd($this->cn);
+ $ldap->cat($this->dn,array($flag));
+ if($ldap->count()){
+ $attrs = $ldap->fetch();
+ }
+ if(isset($attrs[$flag][0])){
+ $this->$flag = $attrs[$flag][0];
+ }
}
- }
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>