summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 12c0753)
raw | patch | inline | side by side (parent: 12c0753)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 26 Jul 2010 15:47:08 +0000 (15:47 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 26 Jul 2010 15:47:08 +0000 (15:47 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19133 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc | patch | blob | history |
diff --git a/gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc b/gosa-plugins/fai/admin/systems/services/repository/class_servRepository.inc
index 2fd272080411fe046ef3c2dab4857afbfaf261cc..7a294f1bea27909bafc60d9a8c60700e6a4dd589 100644 (file)
class servrepository extends goService
{
- /* attribute list for save action */
- // var $ignore_account = TRUE;
- var $attributes = array("FAIrepository");
- var $objectclasses = array("FAIrepositoryServer");
-
- /* Repositories */
- var $repositories = array();
- var $FAIrepository = array();
- var $conflicts = array("goKioskService");
- var $DisplayName = "";
- var $StatusFlag = "";
-
- var $view_logged = FALSE;
- var $fai_activated = FALSE;
-
- var $repositoryMangement = NULL;
-
- function servrepository (&$config, $dn= NULL, $parent= NULL)
- {
- plugin::plugin ($config, $dn,$parent);
-
- $this->DisplayName = _("Repository service");
-
- /* Create repositoryMangement */
- $this->repositoryMangement = new repositoryManagement($this->config,$this);
-
- /* Skip this if fai is deactivated */
- if($this->config->pluginEnabled("faiManagement")){
- $this->fai_activated = TRUE;
- }else{
- return;
- }
+ /* attribute list for save action */
+ // var $ignore_account = TRUE;
+ var $attributes = array("FAIrepository");
+ var $objectclasses = array("FAIrepositoryServer");
- $this->repositories = array();
- if(isset($this->attrs['FAIrepository'])){
- for($i = 0; $i < $this->attrs['FAIrepository']['count']; $i++){
- $tmp = explode("|",$this->attrs['FAIrepository'][$i]);
- $tmp2 = array();
- $tmp3 = array();
-
- if(isset($tmp[1])){
- $tmp2['ParentServer'] = $tmp[1];
- if(empty($tmp[1])){
- $tmp2['ParentServer'] = "none";
- }
- }else{
- $tmp2['ParentServer'] = "none";
- }
+ /* Repositories */
+ var $repositories = array();
+ var $FAIrepository = array();
+ var $conflicts = array("goKioskService");
+ var $DisplayName = "";
+ var $StatusFlag = "";
- if(isset($tmp[0])){
- $tmp2['Url'] = $tmp[0];
- }else{
- $tmp2['Url'] = "";
- }
-
- if(isset($tmp[2])){
- $tmp2['Release'] = $tmp[2];
- }else{
- $tmp2['Release'] = "";
- }
+ var $view_logged = FALSE;
+ var $fai_activated = FALSE;
+
+ var $repositoryMangement = NULL;
+
+ function servrepository (&$config, $dn= NULL, $parent= NULL)
+ {
+ plugin::plugin ($config, $dn,$parent);
- if(isset($tmp[3])){
- $tmp3 = explode(",",$tmp[3]);
- foreach($tmp3 as $sec){
- $tmp2['Sections'][$sec]=$sec;
- }
+ $this->DisplayName = _("Repository service");
+
+ /* Create repositoryMangement */
+ $this->repositoryMangement = new repositoryManagement($this->config,$this);
+
+ /* Skip this if fai is deactivated */
+ if($this->config->pluginEnabled("faiManagement")){
+ $this->fai_activated = TRUE;
}else{
- $tmp['Section']=array();
+ return;
}
- $this->repositories[$tmp[2]]=$tmp2;
- }
+ $this->repositories = array();
+ if(isset($this->attrs['FAIrepository'])){
+ for($i = 0; $i < $this->attrs['FAIrepository']['count']; $i++){
+ $tmp = explode("|",$this->attrs['FAIrepository'][$i]);
+ $tmp2 = array();
+ $tmp3 = array();
+
+ if(isset($tmp[1])){
+ $tmp2['ParentServer'] = $tmp[1];
+ if(empty($tmp[1])){
+ $tmp2['ParentServer'] = "none";
+ }
+ }else{
+ $tmp2['ParentServer'] = "none";
+ }
+
+ if(isset($tmp[0])){
+ $tmp2['Url'] = $tmp[0];
+ }else{
+ $tmp2['Url'] = "";
+ }
+
+ if(isset($tmp[2])){
+ $tmp2['Release'] = $tmp[2];
+ }else{
+ $tmp2['Release'] = "";
+ }
+
+ if(isset($tmp[3])){
+ $tmp3 = explode(",",$tmp[3]);
+ foreach($tmp3 as $sec){
+ $tmp2['Sections'][$sec]=$sec;
+ }
+ }else{
+ $tmp['Section']=array();
+ }
+
+ $this->repositories[$tmp[2]]=$tmp2;
+ }
+ }
+ session::set('RepositoryList', $this->repositories);
}
- session::set('RepositoryList', $this->repositories);
- }
- /*! \brief Act on events frowarded by the repositoryManagement
- */
- function newEntry()
- {
- if(!$this->dialog){
- $this->dialog = new servRepositorySetup($this->config,$this->dn);
- $this->dialog->parent = $this;
+ /*! \brief Act on events frowarded by the repositoryManagement
+ */
+ function newEntry()
+ {
+ if(!$this->dialog){
+ $this->dialog = new servRepositorySetup($this->config,$this->dn);
+ $this->dialog->parent = $this;
+ }
}
- }
-
-
- /*! \brief Act on events frowarded by the repositoryManagement
- */
- function removeEntry($action,$target,$all)
- {
- foreach($target as $value){
-
- if(!isset($this->repositories[$value])) continue;
-
- $url = $this->repositories[$value]['Url'];
- $release = $this->repositories[$value]['Release'];
-
- $ldap = $this->config->get_ldap_link();
- $ldap->cd ($this->config->current['BASE']);
-
- $found= false;
- $auto= false;
- $obj= array();
- $aobj= array();
-
- $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(|(FAIdebianMirror=".$url.")(FAIdebianMirror=auto)))",array("cn","FAIclass", "FAIdebianMirror"));
- if ($ldap->count() != 0){
- while($attrs = $ldap->fetch()){
- if (!isset($attrs['FAIclass'])){
- continue;
- }
- foreach($attrs['FAIclass'] as $class){
- if(preg_match("/:".str_replace("/","\/",$release)."$/i",$class)){
- if (isset($attrs['FAIdebianMirror'][0]) && $attrs['FAIdebianMirror'][0] == "auto") {
- $aobj[$ldap->getDN()]= $attrs['cn'][0];
- $auto= true;
- } else {
- $obj[$ldap->getDN()]= $attrs['cn'][0];
- $found= true;
- }
+
+
+ /*! \brief Act on events frowarded by the repositoryManagement
+ */
+ function removeEntry($action,$target,$all)
+ {
+ foreach($target as $value){
+
+ if(!isset($this->repositories[$value])) continue;
+
+ $url = $this->repositories[$value]['Url'];
+ $release = $this->repositories[$value]['Release'];
+
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cd ($this->config->current['BASE']);
+
+ $found= false;
+ $auto= false;
+ $obj= array();
+ $aobj= array();
+
+ $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(|(FAIdebianMirror=".$url.")(FAIdebianMirror=auto)))",array("cn","FAIclass", "FAIdebianMirror"));
+ if ($ldap->count() != 0){
+ while($attrs = $ldap->fetch()){
+ if (!isset($attrs['FAIclass'])){
+ continue;
+ }
+ foreach($attrs['FAIclass'] as $class){
+ if(preg_match("/:".str_replace("/","\/",$release)."$/i",$class)){
+ if (isset($attrs['FAIdebianMirror'][0]) && $attrs['FAIdebianMirror'][0] == "auto") {
+ $aobj[$ldap->getDN()]= $attrs['cn'][0];
+ $auto= true;
+ } else {
+ $obj[$ldap->getDN()]= $attrs['cn'][0];
+ $found= true;
+ }
+ }
+ }
+ }
}
- }
- }
- }
- // Look for automatic releases
- if ($auto) {
- $usage= 0;
- $ldap->search("(&(objectClass=FAIrepositoryServer))",array("FAIrepository"));
- if ($ldap->count() != 0){
- while($sattrs = $ldap->fetch()){
- if (!isset($sattrs['FAIrepository'])){
- continue;
+ // Look for automatic releases
+ if ($auto) {
+ $usage= 0;
+ $ldap->search("(&(objectClass=FAIrepositoryServer))",array("FAIrepository"));
+ if ($ldap->count() != 0){
+ while($sattrs = $ldap->fetch()){
+ if (!isset($sattrs['FAIrepository'])){
+ continue;
+ }
+ for ($i= 0; $i < $sattrs['FAIrepository']['count']; $i++){
+ $t= preg_split('/\|/', $sattrs['FAIrepository'][$i]);
+ if($release == $t[2]){
+ $usage++;
+ }
+ }
+ }
+
+ // Are we the last one to provide this release?
+ if ($usage < 2) {
+ $obj= array_merge($obj, $aobj);
+ $found= true;
+ }
+ }
}
- for ($i= 0; $i < $sattrs['FAIrepository']['count']; $i++){
- $t= preg_split('/\|/', $sattrs['FAIrepository'][$i]);
- if($release == $t[2]){
- $usage++;
- }
+
+ if ($found){
+ msg_dialog::display(_("Error"), msgPool::stillInUse(_("FAI release"), msgPool::buildList($obj)), ERROR_DIALOG);
+ }else{
+ if(isset($this->repositories[$value])){
+ unset($this->repositories[$value]);
+ }
}
- }
-
- // Are we the last one to provide this release?
- if ($usage < 2) {
- $obj= array_merge($obj, $aobj);
- $found= true;
- }
- }
- }
-
- if ($found){
- msg_dialog::display(_("Error"), msgPool::stillInUse(_("FAI release"), msgPool::buildList($obj)), ERROR_DIALOG);
- }else{
- if(isset($this->repositories[$value])){
- unset($this->repositories[$value]);
}
- }
- }
- }
-
-
- /*! \brief Act on events frowarded by the repositoryManagement
- */
- function editEntry($action,$target,$all)
- {
- if(count($target) == 1 && !$this->dialog){
- $value = array_pop($target);
- if(isset($this->repositories[$value])){
- $once = true;
- $obj = $this->repositories[$value];
-
- /* to be able to detect if this was renamed */
- $obj['initialy_was'] = $obj['Release'];
- $this->dialog = new servRepositorySetup($this->config,$this->dn,$obj);
- $this->dialog->parent = $this;
- }
}
- }
- function execute()
- {
- /* Call parent execute */
- plugin::execute();
- $smarty= get_smarty();
- $this->repositoryMangement->handleActions($this->repositoryMangement->detectPostActions());
-
- if($this->is_account && !$this->view_logged){
- $this->view_logged = TRUE;
- new log("view","server/".get_class($this),$this->dn);
+ /*! \brief Act on events frowarded by the repositoryManagement
+ */
+ function editEntry($action,$target,$all)
+ {
+ if(count($target) == 1 && !$this->dialog){
+ $value = array_pop($target);
+ if(isset($this->repositories[$value])){
+ $once = true;
+ $obj = $this->repositories[$value];
+
+ /* to be able to detect if this was renamed */
+ $obj['initialy_was'] = $obj['Release'];
+ $this->dialog = new servRepositorySetup($this->config,$this->dn,$obj);
+ $this->dialog->parent = $this;
+ }
+ }
}
- if(!$this->fai_activated){
- $str = "<h3>"._("You can't use this plugin until FAI is activated.")."</h3>";
- $display = $smarty->fetch(get_template_path('servRepository.tpl', TRUE,dirname(__FILE__)));
- return($str.$display);
- }
+ function execute()
+ {
+ /* Call parent execute */
+ plugin::execute();
- /* Fill templating stuff */
- $smarty->assign("is_createable",$this->acl_is_createable());
- $display= "";
+ $smarty= get_smarty();
+ $this->repositoryMangement->handleActions($this->repositoryMangement->detectPostActions());
+ if($this->is_account && !$this->view_logged){
+ $this->view_logged = TRUE;
+ new log("view","server/".get_class($this),$this->dn);
+ }
- if(isset($_POST['repository_setup_save']) && is_object($this->dialog)){
- $this->dialog->save_object();
- if(($this->dialog->is_new_name())&&(isset($this->repositories[$this->dialog->GetName()]))){
- msg_dialog::display(_("Error"), msgPool::duplicated(_("Name")), ERROR_DIALOG);
- }else
+ if(!$this->fai_activated){
+ $str = "<h3>"._("You can't use this plugin until FAI is activated.")."</h3>";
+ $display = $smarty->fetch(get_template_path('servRepository.tpl', TRUE,dirname(__FILE__)));
+ return($str.$display);
+ }
- if(count($this->dialog->check())!=0){
- foreach($this->dialog->check() as $msg){
- msg_dialog::display(_("Error"), $msg, ERROR_DIALOG);
+ /* Fill templating stuff */
+ $smarty->assign("is_createable",$this->acl_is_createable());
+ $display= "";
+
+
+ if(isset($_POST['repository_setup_save']) && is_object($this->dialog)){
+ $this->dialog->save_object();
+ if(($this->dialog->is_new_name())&&(isset($this->repositories[$this->dialog->GetName()]))){
+ msg_dialog::display(_("Error"), msgPool::duplicated(_("Name")), ERROR_DIALOG);
+ }else
+
+ if(count($this->dialog->check())!=0){
+ foreach($this->dialog->check() as $msg){
+ msg_dialog::display(_("Error"), $msg, ERROR_DIALOG);
+ }
+ }else{
+ $obj = $this->dialog->save();
+ if($this->dialog->is_new_name()){
+ $oldname = $this->dialog->initialy_was;
+ $this->repositories[$obj['Release']]=$obj;
+ unset($this->repositories[$oldname]);
+ }else{
+ $this->repositories[$obj['Release']]=$obj;
+ }
+ $this->dialog = FALSE;
+ $this->is_dialog= false;
+ }
}
- }else{
- $obj = $this->dialog->save();
- if($this->dialog->is_new_name()){
- $oldname = $this->dialog->initialy_was;
- $this->repositories[$obj['Release']]=$obj;
- unset($this->repositories[$oldname]);
- }else{
- $this->repositories[$obj['Release']]=$obj;
+
+ if(isset($_POST['repository_setup_cancel'])){
+ $this->dialog=FALSE;
+ $this->is_dialog = false;
}
- $this->dialog = FALSE;
- $this->is_dialog= false;
- }
- }
- if(isset($_POST['repository_setup_cancel'])){
- $this->dialog=FALSE;
- $this->is_dialog = false;
- }
-
- if(is_object($this->dialog)){
- $this->dialog->save_object();
- $this->is_dialog = true;
- return($this->dialog->execute());
- }
+ if(is_object($this->dialog)){
+ $this->dialog->save_object();
+ $this->is_dialog = true;
+ return($this->dialog->execute());
+ }
- /*
- Repository setup dialog handling /END
- */
- $link = "<a href='?plug=".$_GET['plug']."&act=open_repository&id=%s'>%s</a>";
- $edit = "<input type='image' value='%s' name='edit_%s' src='images/lists/edit.png'> ";
-
- /* Hide delete icon, if delete is not allowed */
- if($this->acl_is_removeable()){
- $delete = "<input type='image' value='%s' name='delete_%s' src='images/lists/trash.png'>";
- }else{
- $delete = "<img src='images/empty.png' alt=' '>";
- }
+ /*
+ Repository setup dialog handling /END
+ */
+ $link = "<a href='?plug=".$_GET['plug']."&act=open_repository&id=%s'>%s</a>";
+ $edit = "<input type='image' value='%s' name='edit_%s' src='images/lists/edit.png'> ";
- session::set('RepositoryList', $this->repositories);
- $str = $this->repositoryMangement->execute();
- $display.= $smarty->fetch(get_template_path('servRepository.tpl', TRUE,dirname(__FILE__)));
- return($str.$display);
- }
-
-
- /* Save data to object */
- function save_object()
- {
- plugin::save_object();
- }
-
-
- /* Check supplied data */
- function check()
- {
- /* Call common method to give check the hook */
- $message= plugin::check();
- return ($message);
- }
-
-
- /* Save to LDAP */
- function save()
- {
- if(!$this->fai_activated) return;
-
- plugin::save();
-
- $arr = array();
- foreach($this->repositories as $servername => $conf){
- $str = "";
- foreach($conf['Sections'] as $sec){
- $str.=$sec.",";
- }
- $str=preg_replace("/,$/","",$str);
-
- if($conf['ParentServer']=="none"){
- $conf['ParentServer'] ="";
- }
-
- $arr[]=$conf['Url']."|".$conf['ParentServer']."|".$conf['Release']."|".$str;
- }
- $this->attrs['FAIrepository'] = $arr;
-
- $ldap= $this->config->get_ldap_link();
- $ldap->cd ($this->config->current['BASE']);
-
- $ldap->cat($this->dn, array('dn'));
-
- if($ldap->count()){
- $ldap->cd($this->dn);
- $this->cleanup();
- $ldap->modify ($this->attrs);
- $this->handle_post_events("modify");
- }else{
- $ldap->cd ($this->config->current['BASE']);
- $ldap->create_missing_trees($this->dn);
- $ldap->cd($this->dn);
- $ldap->add($this->attrs);
- $this->handle_post_events("add");
+ /* Hide delete icon, if delete is not allowed */
+ if($this->acl_is_removeable()){
+ $delete = "<input type='image' value='%s' name='delete_%s' src='images/lists/trash.png'>";
+ }else{
+ $delete = "<img src='images/empty.png' alt=' '>";
+ }
+
+ session::set('RepositoryList', $this->repositories);
+ $str = $this->repositoryMangement->execute();
+ $display.= $smarty->fetch(get_template_path('servRepository.tpl', TRUE,dirname(__FILE__)));
+ return($str.$display);
}
- # If there were changes, just tell the server to reload information
- if(count($this->attrs)){
- $this->trigger_si_fai_server_reload();
+
+ /* Save data to object */
+ function save_object()
+ {
+ plugin::save_object();
}
- if($this->initially_was_account){
- new log("modify","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
- }else{
- new log("create","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+
+ /* Check supplied data */
+ function check()
+ {
+ /* Call common method to give check the hook */
+ $message= plugin::check();
+ return ($message);
}
- }
- function getListEntry()
- {
- $fields = goService::getListEntry();
- $fields['Message'] = _("Repository service");
- return($fields);
- }
+ /* Save to LDAP */
+ function save()
+ {
+ if(!$this->fai_activated) return;
+ plugin::save();
- function trigger_si_fai_server_reload()
- {
- /* Reload GOsa si FAI DB/cache
- */
- if(class_available("DaemonEvent") && class_available("gosaSupportDaemon")){
- $events = DaemonEvent::get_event_types(SYSTEM_EVENT | HIDDEN_EVENT);
- if(isset($events['TRIGGERED']['DaemonEvent_recreate_fai_server_db'])){
- $evt = $events['TRIGGERED']['DaemonEvent_recreate_fai_server_db'];
- $tmp = new $evt['CLASS_NAME']($this->config);
- $tmp->set_type(TRIGGERED_EVENT);
- $tmp->add_targets(array("GOSA"));
- $o_queue = new gosaSupportDaemon();
- if(!$o_queue->append($tmp)){
- msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
+ $arr = array();
+ foreach($this->repositories as $servername => $conf){
+ $str = "";
+ foreach($conf['Sections'] as $sec){
+ $str.=$sec.",";
+ }
+ $str=preg_replace("/,$/","",$str);
+
+ if($conf['ParentServer']=="none"){
+ $conf['ParentServer'] ="";
+ }
+
+ $arr[]=$conf['Url']."|".$conf['ParentServer']."|".$conf['Release']."|".$str;
+ }
+ $this->attrs['FAIrepository'] = $arr;
+
+ $ldap= $this->config->get_ldap_link();
+ $ldap->cd ($this->config->current['BASE']);
+
+ $ldap->cat($this->dn, array('dn'));
+
+ if($ldap->count()){
+ $ldap->cd($this->dn);
+ $this->cleanup();
+ $ldap->modify ($this->attrs);
+ $this->handle_post_events("modify");
+ }else{
+ $ldap->cd ($this->config->current['BASE']);
+ $ldap->create_missing_trees($this->dn);
+ $ldap->cd($this->dn);
+ $ldap->add($this->attrs);
+ $this->handle_post_events("add");
+ }
+
+# If there were changes, just tell the server to reload information
+ if(count($this->attrs)){
+ $this->trigger_si_fai_server_reload();
+ }
+
+ if($this->initially_was_account){
+ new log("modify","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
+ }else{
+ new log("create","server/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error());
}
- }
}
- }
- function allow_remove()
- {
- /* Check if the service is still in use
- */
- $ldap = $this->config->get_ldap_link();
- $ldap->cd($this->config->current['BASE']);
- foreach($this->repositories as $repository) {
- $url = $repository['Url'];
- $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass"));
- if ($ldap->count() != 0){
- $obj= array();
- $found= false;
- while($attrs = $ldap->fetch()){
- foreach($attrs['FAIclass'] as $class){
- $obj[$ldap->getDN()]= $attrs['cn'][0];
- $found= true;
- }
+ function getListEntry()
+ {
+ $fields = goService::getListEntry();
+ $fields['Message'] = _("Repository service");
+ return($fields);
+ }
+
+
+ function trigger_si_fai_server_reload()
+ {
+ /* Reload GOsa si FAI DB/cache
+ */
+ if(class_available("DaemonEvent") && class_available("gosaSupportDaemon")){
+ $events = DaemonEvent::get_event_types(SYSTEM_EVENT | HIDDEN_EVENT);
+ if(isset($events['TRIGGERED']['DaemonEvent_recreate_fai_server_db'])){
+ $evt = $events['TRIGGERED']['DaemonEvent_recreate_fai_server_db'];
+ $tmp = new $evt['CLASS_NAME']($this->config);
+ $tmp->set_type(TRIGGERED_EVENT);
+ $tmp->add_targets(array("GOSA"));
+ $o_queue = new gosaSupportDaemon();
+ if(!$o_queue->append($tmp)){
+ msg_dialog::display(_("Service infrastructure"),msgPool::siError($o_queue->get_error()),ERROR_DIALOG);
+ }
+ }
}
- if ($found){
- $message = msgPool::stillInUse(_("Repository service")) . msgPool::buildList($obj);
- return $message;
+ }
+
+
+ function allow_remove()
+ {
+ /* Check if the service is still in use
+ */
+ $ldap = $this->config->get_ldap_link();
+ $ldap->cd($this->config->current['BASE']);
+ foreach($this->repositories as $repository) {
+ $url = $repository['Url'];
+ $ldap->search("(&(objectClass=gotoWorkstation)(objectClass=FAIobject)(FAIdebianMirror=".$url."))",array("cn","FAIclass"));
+ if ($ldap->count() != 0){
+ $obj= array();
+ $found= false;
+ while($attrs = $ldap->fetch()){
+ foreach($attrs['FAIclass'] as $class){
+ $obj[$ldap->getDN()]= $attrs['cn'][0];
+ $found= true;
+ }
+ }
+ if ($found){
+ $message = msgPool::stillInUse(_("Repository service")) . msgPool::buildList($obj);
+ return $message;
+ }
+ }
}
- }
}
- }
-
-
-
- function remove_from_parent()
- {
- goService::remove_from_parent();
- $this->trigger_si_fai_server_reload();
- }
-
- /* Return plugin informations for acl handling */
- static function plInfo()
- {
- return (array(
- "plShortName" => _("Repository"),
- "plDescription" => _("Repository service")." ("._("Services").")",
- "plSelfModify" => FALSE,
- "plDepends" => array(),
- "plPriority" => 84,
- "plSection" => array("administration"),
- "plCategory" => array("server"),
-
- "plProperties" => array(
- array(
- "name" => "repositoryBranchHook",
- "type" => "command",
- "default" => "",
- "description" => _("The FAI plugin can be used in a way that it generates branched or freezed releases inside your repository. Specifying the 'postcreate' and 'postmodify' keywords in the 'Repository service', calls the provided script as a hook when adding or removing branches. This script should do the rest inside of your repository.")
- ."
- Example:
- repositoryBranchHook=\"/opt/dak/bin/get_extra_repos\"
- postcreate=\"/opt/dak/bin/handle_repository '%lock_dn' '%lock_name' '%lock_type' \"",
- "check" => "gosaProperty::isCommand",
- "migrate" => "",
- "group" => "plugin",
- "mandatory" => FALSE
- )
-
- ),
-
- "plProvidedAcls"=> array(
+
+
+
+ function remove_from_parent()
+ {
+ goService::remove_from_parent();
+ $this->trigger_si_fai_server_reload();
+ }
+
+ /* Return plugin informations for acl handling */
+ static function plInfo()
+ {
+ return (array(
+ "plShortName" => _("Repository"),
+ "plDescription" => _("Repository service")." ("._("Services").")",
+ "plSelfModify" => FALSE,
+ "plDepends" => array(),
+ "plPriority" => 84,
+ "plSection" => array("administration"),
+ "plCategory" => array("server"),
+
+ "plProperties" => array(
+ array(
+ "name" => "repositoryBranchHook",
+ "type" => "command",
+ "default" => "",
+ "description" => _("The FAI plugin can be used in a way that it generates branched or freezed releases inside your repository. Specifying the 'postcreate' and 'postmodify' keywords in the 'Repository service', calls the provided script as a hook when adding or removing branches. This script should do the rest inside of your repository.")
+ ."
+ Example:
+ repositoryBranchHook=\"/opt/dak/bin/get_extra_repos\"
+ postcreate=\"/opt/dak/bin/handle_repository '%lock_dn' '%lock_name' '%lock_type' \"",
+ "check" => "gosaProperty::isCommand",
+ "migrate" => "",
+ "group" => "plugin",
+ "mandatory" => FALSE
+ )
+
+ ),
+
+ "plProvidedAcls"=> array(
# "start" => _("Service start"), // Remove this to hide the start button at all.
# "stop" => _("Service stop"), // Remove this to hide the stop button at all.
# "restart" => _("Service restart"),// Remove this to hide the restart button at all.
# "cn" => _("Name"),
- "ParentServer" => _("Parent server"),
- "Release" => _("Releases"),
- "Url" => _("URL"),
- "Section" => _("Sections"))
- ));
- }
-
- /*! \brief Returns the list of of services, active services.
- * Used in the filter class for services.
- * class_filterServerService.inc
- */
- static function getRepositoryList()
- {
- return(session::get('RepositoryList'));
- }
+ "ParentServer" => _("Parent server"),
+ "Release" => _("Releases"),
+ "Url" => _("URL"),
+ "Section" => _("Sections"))
+ ));
+ }
+
+ /*! \brief Returns the list of of services, active services.
+ * Used in the filter class for services.
+ * class_filterServerService.inc
+ */
+ static function getRepositoryList()
+ {
+ return(session::get('RepositoryList'));
+ }
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>