From 62f4dda94a42a070cd97ac721f5915597bacf290 Mon Sep 17 00:00:00 2001 From: hickert Date: Thu, 29 Jul 2010 10:15:41 +0000 Subject: [PATCH] Updated post handling git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19208 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../admin/groups/class_groupManagement.inc | 362 +++++++++--------- 1 file changed, 181 insertions(+), 181 deletions(-) diff --git a/gosa-core/plugins/admin/groups/class_groupManagement.inc b/gosa-core/plugins/admin/groups/class_groupManagement.inc index 41fa63a3b..c190df15f 100644 --- a/gosa-core/plugins/admin/groups/class_groupManagement.inc +++ b/gosa-core/plugins/admin/groups/class_groupManagement.inc @@ -22,194 +22,194 @@ class groupManagement extends management { - var $plHeadline = "Groups"; - var $plDescription = "Manage aspects of groups like members, POSIX, desktop, samba and mail settings"; - var $plIcon = "plugins/groups/images/plugin.png"; - - // Tab definition - protected $tabClass = "grouptabs"; - protected $tabType = "GROUPTABS"; - protected $aclCategory = "groups"; - protected $aclPlugin = "group"; - protected $objectName = "group"; - - function __construct($config,$ui) - { - $this->config = $config; - $this->ui = $ui; - - $this->storagePoints = array(get_ou("core", "groupRDN")); - - // Build filter - if (session::global_is_set(get_class($this)."_filter")){ - $filter= session::global_get(get_class($this)."_filter"); - } else { - $filter = new filter(get_template_path("group-filter.xml", true)); - $filter->setObjectStorage($this->storagePoints); + var $plHeadline = "Groups"; + var $plDescription = "Manage aspects of groups like members, POSIX, desktop, samba and mail settings"; + var $plIcon = "plugins/groups/images/plugin.png"; + + // Tab definition + protected $tabClass = "grouptabs"; + protected $tabType = "GROUPTABS"; + protected $aclCategory = "groups"; + protected $aclPlugin = "group"; + protected $objectName = "group"; + + function __construct($config,$ui) + { + $this->config = $config; + $this->ui = $ui; + + $this->storagePoints = array(get_ou("core", "groupRDN")); + + // Build filter + if (session::global_is_set(get_class($this)."_filter")){ + $filter= session::global_get(get_class($this)."_filter"); + } else { + $filter = new filter(get_template_path("group-filter.xml", true)); + $filter->setObjectStorage($this->storagePoints); + } + $this->setFilter($filter); + + // Build headpage + $headpage = new listing(get_template_path("group-list.xml", true)); + $headpage->registerElementFilter("filterProperties", "groupManagement::filterProperties"); + $headpage->setFilter($filter); + + // Add copy&paste and snapshot handler. + if ($this->config->boolValueIsTrue("core", "copyPaste")){ + $this->cpHandler = new CopyPasteHandler($this->config); + } + if($this->config->get_cfg_value("core","enableSnapshots") == "true"){ + $this->snapHandler = new SnapshotHandler($this->config); + } + parent::__construct($config, $ui, "groups", $headpage); + + $this->registerAction("edit_group","editEntry"); + $this->registerAction("edit_group_","editEntry"); + $this->registerAction("edit_group__","editEntry"); + $this->registerAction("edit_environment","editEntry"); + $this->registerAction("edit_appgroup","editEntry"); + $this->registerAction("edit_mailgroup","editEntry"); + + $this->registerAction("sendMessage", "sendMessage"); + $this->registerAction("saveEventDialog", "saveEventDialog"); + $this->registerAction("abortEventDialog", "closeDialogs"); } - $this->setFilter($filter); - // Build headpage - $headpage = new listing(get_template_path("group-list.xml", true)); - $headpage->registerElementFilter("filterProperties", "groupManagement::filterProperties"); - $headpage->setFilter($filter); - - // Add copy&paste and snapshot handler. - if ($this->config->boolValueIsTrue("core", "copyPaste")){ - $this->cpHandler = new CopyPasteHandler($this->config); - } - if($this->config->get_cfg_value("core","enableSnapshots") == "true"){ - $this->snapHandler = new SnapshotHandler($this->config); - } - parent::__construct($config, $ui, "groups", $headpage); - - $this->registerAction("edit_group","editEntry"); - $this->registerAction("edit_group_","editEntry"); - $this->registerAction("edit_group__","editEntry"); - $this->registerAction("edit_environment","editEntry"); - $this->registerAction("edit_appgroup","editEntry"); - $this->registerAction("edit_mailgroup","editEntry"); - - $this->registerAction("sendMessage", "sendMessage"); - $this->registerAction("saveEventDialog", "saveEventDialog"); - $this->registerAction("abortEventDialog", "closeDialogs"); - } - - // Inject user actions - function detectPostActions() - { - $action = management::detectPostActions(); - if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog"; - if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog"; - return($action); - } - - - /*! \brief Sends a message to a set of users using gosa-si events. - */ - function saveEventDialog() - { - $this->dialogObject->save_object(); - $msgs = $this->dialogObject->check(); - if(count($msgs)){ - msg_dialog::displayChecks($msgs); - }else{ - $o_queue = new gosaSupportDaemon(); - $o_queue->append($this->dialogObject); - if($o_queue->is_error()){ - msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG); - } - $this->closeDialogs(); + // Inject user actions + function detectPostActions() + { + $action = management::detectPostActions(); + if(isset($_POST['save_event_dialog'])) $action['action'] = "saveEventDialog"; + if(isset($_POST['abort_event_dialog'])) $action['action'] = "abortEventDialog"; + return($action); } - } - - - /*! \brief Sends a message to a set of users using gosa-si events. - */ - function sendMessage($action="",$target=array(),$all=array()) - { - $uids = array(); - $ldap = $this->config->get_ldap_link(); - $ldap->cd($this->config->current['BASE']); - foreach($target as $dn){ - $ldap->cat($dn,array('cn')); - if($ldap->count()){ - $attrs = $ldap->fetch(); - $uids[] = $attrs['cn'][0]; - } + + + /*! \brief Sends a message to a set of users using gosa-si events. + */ + function saveEventDialog() + { + $this->dialogObject->save_object(); + $msgs = $this->dialogObject->check(); + if(count($msgs)){ + msg_dialog::displayChecks($msgs); + }else{ + $o_queue = new gosaSupportDaemon(); + $o_queue->append($this->dialogObject); + if($o_queue->is_error()){ + msg_dialog::display(_("Infrastructure error"), msgPool::siError($o_queue->get_error()),ERROR_DIALOG); + } + $this->closeDialogs(); + } } - if(count($uids)){ - $events = DaemonEvent::get_event_types(USER_EVENT); - $event = "DaemonEvent_notify"; - if(isset($events['BY_CLASS'][$event])){ - $type = $events['BY_CLASS'][$event]; - $this->dialogObject = new $type['CLASS_NAME']($this->config); - $this->dialogObject->add_groups($uids); - $this->dialogObject->set_type(SCHEDULED_EVENT); - } + + + /*! \brief Sends a message to a set of users using gosa-si events. + */ + function sendMessage($action="",$target=array(),$all=array()) + { + $uids = array(); + $ldap = $this->config->get_ldap_link(); + $ldap->cd($this->config->current['BASE']); + foreach($target as $dn){ + $ldap->cat($dn,array('cn')); + if($ldap->count()){ + $attrs = $ldap->fetch(); + $uids[] = $attrs['cn'][0]; + } + } + if(count($uids)){ + $events = DaemonEvent::get_event_types(USER_EVENT); + $event = "DaemonEvent_notify"; + if(isset($events['BY_CLASS'][$event])){ + $type = $events['BY_CLASS'][$event]; + $this->dialogObject = new $type['CLASS_NAME']($this->config); + $this->dialogObject->add_groups($uids); + $this->dialogObject->set_type(SCHEDULED_EVENT); + } + } } - } - - - function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") - { - $str = management::editEntry($action,$target); - if(preg_match("/^edit_/",$action)){ - $tab = preg_replace("/^edit_([^_]*).*$/","\\1",$action); - if(isset($this->tabObject->by_object[$tab])){ - $this->tabObject->current = $tab; - }else{ - trigger_error("Unknown tab: ".$tab); - } + + + function editEntry($action="",$target=array(),$all=array(), $altTabClass ="", $altTabType = "", $altAclCategory="") + { + $str = management::editEntry($action,$target); + if(preg_match("/^edit_/",$action)){ + $tab = preg_replace("/^edit_([^_]*).*$/","\\1",$action); + if(isset($this->tabObject->by_object[$tab])){ + $this->tabObject->current = $tab; + }else{ + trigger_error("Unknown tab: ".$tab); + } + } + if(!empty($str)) return($str); } - if(!empty($str)) return($str); - } - - static function filterProperties($row, $classes) - { - $result= ""; - - $map = array( - "posixGroup" => - array( - "image" => "plugins/groups/images/select_group.png", - "plugin" => "group", - "alt" => _("Posix"), - "title" => _("Edit posix properties") - ), - - "gosaMailAccount" => - array( - "image" => "plugins/groups/images/mail.png", - "plugin" => "mailgroup", - "alt" => _("Mail"), - "title" => _("Edit mail properties") - ), - - "sambaGroupMapping" => - array( - "image" => "plugins/groups/images/samba.png", - "plugin" => "group_", - "alt" => _("Samba"), - "title" => _("Edit samba properties") - ), - - "goFonPickupGroup" => - array( - "image" => "plugins/groups/images/asterisk.png", - "plugin" => "group__", - "alt" => _("Phone"), - "title" => _("Edit phone properties") - ), - - "gotoMenuGroup" => - array( - "image" => "plugins/groups/images/menu.png", - "plugin" => "appgroup", - "alt" => _("Menu"), - "title" => _("Edit start menu properties") - ), - - "gotoEnvironment" => - array( - "image" => "plugins/groups/images/environment.png", - "plugin" => "environment", - "alt" => _("Environment"), - "title" => _("Edit environment properties") - ) - ); - - - // Walk thru map - foreach ($map as $oc => $properties) { - if (in_array_ics($oc, $classes)) { - $result.= image($properties['image'], 'listing_edit_'.$properties['plugin'].'_'.$row, $properties['title']); - } else { - $result.= image('images/empty.png'); - } + + static function filterProperties($row, $classes) + { + $result= ""; + + $map = array( + "posixGroup" => + array( + "image" => "plugins/groups/images/select_group.png", + "plugin" => "group", + "alt" => _("Posix"), + "title" => _("Edit posix properties") + ), + + "gosaMailAccount" => + array( + "image" => "plugins/groups/images/mail.png", + "plugin" => "mailgroup", + "alt" => _("Mail"), + "title" => _("Edit mail properties") + ), + + "sambaGroupMapping" => + array( + "image" => "plugins/groups/images/samba.png", + "plugin" => "group_", + "alt" => _("Samba"), + "title" => _("Edit samba properties") + ), + + "goFonPickupGroup" => + array( + "image" => "plugins/groups/images/asterisk.png", + "plugin" => "group__", + "alt" => _("Phone"), + "title" => _("Edit phone properties") + ), + + "gotoMenuGroup" => + array( + "image" => "plugins/groups/images/menu.png", + "plugin" => "appgroup", + "alt" => _("Menu"), + "title" => _("Edit start menu properties") + ), + + "gotoEnvironment" => + array( + "image" => "plugins/groups/images/environment.png", + "plugin" => "environment", + "alt" => _("Environment"), + "title" => _("Edit environment properties") + ) + ); + + + // Walk thru map + foreach ($map as $oc => $properties) { + if (in_array_ics($oc, $classes)) { + $result.= image($properties['image'], 'listing_edit_'.$properties['plugin'].'_'.$row, $properties['title']); + } else { + $result.= image('images/empty.png'); + } + } + return $result; } - return $result; - } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?> -- 2.30.2