summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: aabe0bc)
raw | patch | inline | side by side (parent: aabe0bc)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 11 Feb 2008 08:42:05 +0000 (08:42 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Mon, 11 Feb 2008 08:42:05 +0000 (08:42 +0000) |
Folder images too.
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@8806 594d385d-05f5-0310-b6e9-bd551577e9d8
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@8806 594d385d-05f5-0310-b6e9-bd551577e9d8
gosa-plugins/goto/admin/groups/apps/app_list.tpl | patch | blob | history | |
gosa-plugins/goto/admin/groups/apps/class_groupApplication2.inc | patch | blob | history |
diff --git a/gosa-plugins/goto/admin/groups/apps/app_list.tpl b/gosa-plugins/goto/admin/groups/apps/app_list.tpl
index eac21d939fb896ca48af241dc6bf8c466f5c93a9..ab448d0a3a0b08d22742b2e1c4f5a12c0733382b 100644 (file)
{$item.NAME}
</td>
<td style='width:100px;text-align:right'>
+<!--
<input title="{t}Move up{/t}" class="center" type='image'
name='up_{$item.UNIQID}' src='images/move_object_up.png'>
<input title="{t}Move down{/t}" class="center" type='image'
name='down_{$item.UNIQID}' src='images/move_object_down.png'>
+-->
<input title="{t}Remove{/t}" class="center" type='image'
name='del_{$item.UNIQID}' src='images/edittrash.png'>
<input title="{t}Edit{/t}" class="center" type='image'
- name='edit_{$item.UNIQID}' src='images/edit.png'>
+ name='app_entry_edit{$item.UNIQID}' src='images/edit.png'>
</td>
</tr>
{elseif $item.TYPE == "ENTRY"}
{$item.NAME} {$item.INFO}
</td>
<td style='width:100px;text-align:right'>
+<!--
<input title="{t}Move up{/t}" class="center" type='image'
name='up_{$item.UNIQID}' src='images/move_object_up.png'>
<input title="{t}Move down{/t}" class="center" type='image'
name='down_{$item.UNIQID}' src='images/move_object_down.png'>
+-->
<input title="{t}Remove{/t}" class="center" type='image'
name='del_{$item.UNIQID}' src='images/edittrash.png'>
<input title="{t}Edit{/t}" class="center" type='image'
- name='edit_{$item.UNIQID}' src='images/edit.png'>
+ name='app_entry_edit{$item.UNIQID}' src='images/edit.png'>
</td>
</tr>
{/if}
diff --git a/gosa-plugins/goto/admin/groups/apps/class_groupApplication2.inc b/gosa-plugins/goto/admin/groups/apps/class_groupApplication2.inc
index 24bf8193d9597baa501b99d9e076f36680c86177..71ba96fb25d5561832a80e0cc940dfd24d6306f1 100644 (file)
var $apps = array();
var $_cache = array();
+ var $app_parameter = array();
+ var $edit_entry = array();
+
public function __construct(&$config, $dn= NULL, $parent= NULL)
{
plugin::plugin($config,$dn,$parent);
$this->apps = $this->_cache['ReleaseApps'][$release_info['suffix']];
}
+
+
+
function getReleases()
{
$data = array();
if(in_array("gotoSubmenuEntry",$attrs['objectClass'])){
$type = "FOLDER";
+
+ $data['ICON'] = "";
+ if(isset($attrs['gosaApplicationIcon'])){
+ $data['ICON'] = $ldap->get_attribute($attrs['dn'],"gosaApplicationIcon");
+ }
+
}elseif(in_array("gotoMenuEntry",$attrs['objectClass'])){
$type = "ENTRY";
+ $data['PARAMETER'] = array();
+ if(isset($attrs['gosaApplicationParameter'])){
+ for($p = 0 ; $p < $attrs['gosaApplicationParameter']['count'] ; $p ++){
+ $tmp = split(":",$attrs['gosaApplicationParameter'][$p]);
+ $data['PARAMETER'][$tmp[0]] = $tmp[1];
+ }
+ }
}elseif(in_array("FAIbranch",$attrs['objectClass'])){
$type = "RELEASE";
if(isset($attrs['FAIstate'][0])){
if(isset($_GET['r']))
$this->__construct($this->config,$this->dn);
+ if(count($this->edit_entry)){
+ if($this->edit_entry['TYPE'] == "ENTRY"){
+ $smarty = get_smarty();
+ $smarty->assign("type", "ENTRY");
+ $smarty->assign("entry",$this->edit_entry);
+ $smarty->assign("paras",$this->app_parameter);
+ $display= $smarty->fetch (get_template_path('edit_entry.tpl', TRUE, dirname(__FILE__)));
+ return($display);
+ }
+ if($this->edit_entry['TYPE'] == "FOLDER"){
+ $smarty = get_smarty();
+
+ session::set("binarytype" , "image/jpeg");
+ session::set("binary" , $this->edit_entry['ICON']);
+
+ $smarty->assign("rand", microtime(TRUE));
+ $smarty->assign("image_set" , strlen($this->edit_entry['ICON']) > 0);
+ $smarty->assign("type", "FOLDER");
+ $smarty->assign("entry",$this->edit_entry);
+ $display= $smarty->fetch (get_template_path('edit_entry.tpl', TRUE, dirname(__FILE__)));
+ return($display);
+ }
+ }
+
$smarty = get_smarty();
/* Create application list */
}
+ function _save_entry_edit()
+ {
+ $all = $this->_get_all_entries();
+ $entry = $this->edit_entry;
+ $r_entry= &$all[$entry['UNIQID']];
+
+ if($entry['TYPE'] == "ENTRY"){
+ $r_entry['PARAMETER'] = $this->app_parameter;
+ $r_entry['STATUS'] = "EDITED";
+ }
+ if($entry['TYPE'] == "FOLDER"){
+ $r_entry['ICON'] = $this->edit_entry['ICON'];
+ $r_entry['STATUS'] = "EDITED";
+ }
+ $this->dialog = FALSE;
+ $this->edit_entry = array();
+ }
+
+
function _edit_entry_edit($id)
{
+ $all = $this->_get_all_entries();
+ $entry = $all[$id];
+
+ $this->app_parameter = array();
+ if($entry['TYPE'] == "ENTRY"){
+ $found = FALSE;
+ foreach($this->apps as $id => $app){
+
+ if($app['cn'][0] == $entry['NAME']){
+ $found = TRUE;
+ break;
+ }
+ }
+ if($found){
+
+ /* Create a list of editable parameter */
+ if(isset($app['gosaApplicationParameter'])){
+ for($i = 0 ; $i < $app['gosaApplicationParameter']['count'] ; $i++) {
+ $para = $app['gosaApplicationParameter'][$i];
+ $tmp = split(":",$para);
+ $this->app_parameter[$tmp[0]] = $tmp[1];
+ }
+ }
+
+ /* Overwrite parameters with entry parameters */
+ foreach($entry['PARAMETER'] as $name => $value){
+ $this->app_parameter[$name] = $value;
+ }
+
+ $this->dialog = TRUE;
+ $this->edit_entry = $entry;
+ }
+ }
+
+ if($entry['TYPE'] == "FOLDER"){
+ $this->dialog = TRUE;
+ $this->edit_entry = $entry;
+ }
}
$this->_remove_entry_id($id);
break;
}
- if(preg_match("/edit_/",$name)){
- $id = preg_replace("/^edit_/","",$name);
+ if(preg_match("/app_entry_edit/",$name)){
+ $id = preg_replace("/^app_entry_edit/","",$name);
$id = preg_replace("/_(x|y)$/","",$id);
$this->_edit_entry_edit($id);
break;
$this->_move_entry_down($id);
break;
}
+ if(preg_match("/^parameter_/",$name) &&
+ count($this->edit_entry) && $this->edit_entry['TYPE'] == "ENTRY"){
+ $name = preg_replace("/^parameter_/","",$name);
+ $this->app_parameter[$name] = $value;
+ }
}
if(isset($_POST['FAIrelease'])){
$this->FAIrelease = $_POST['FAIrelease'];
$this->_add_sub_folder($folder,$name);
}
}
+ if(isset($_POST['app_entry_save'])){
+ $this->_save_entry_edit();
+ }
+
+ if(isset($_FILES['folder_image']) && isset($_POST['folder_image_upload'])){
+ if($_FILES['folder_image']['error'] == 0 && $_FILES['folder_image']['size'] > 0){
+ $this->edit_entry['ICON'] = file_get_contents($_FILES['folder_image']['tmp_name']);
+ }
+ }
+
+ if(isset($_POST['app_entry_cancel'])){
+ $this->edit_entry = array();
+ $this->dialog = FALSE;
+ }
$this->reload();
}
if(isset($tmp['ENTRIES'])){
unset($tmp['ENTRIES']);
}
-
if($tmp['STATUS'] != "REMOVED"){
$ret[] = $tmp;
if(isset($entry['ENTRIES']) && count($entry['ENTRIES'])){
- $ret[] = array("TYPE" => "OPEN", "PARENT" => $entry['UNIQID']);
- $ret = array_merge($ret,$this->_get_all_entries($add_tags,$skip_release,&$cur[$key]['ENTRIES']));
- $ret[] = array("TYPE" => "CLOSE" , "PARENT" => $entry['UNIQID']);
+ $add = false;
+ foreach($entry['ENTRIES'] as $entry){
+ if($entry['STATUS'] != "REMOVED"){
+ $add = TRUE;
+ break;
+ }
+ }
+
+ if($add){
+ $ret[] = array("TYPE" => "OPEN", "PARENT" => $entry['UNIQID']);
+ $ret = array_merge($ret,$this->_get_all_entries($add_tags,$skip_release,&$cur[$key]['ENTRIES']));
+ $ret[] = array("TYPE" => "CLOSE" , "PARENT" => $entry['UNIQID']);
+ }
}
}
}
$o_to = &$all[$to];
$o_from = &$all[$from];
+ print_a($o_to,$o_from);
+
/***********************
* Source == Destination
* Move into next parent.
$attrs['objectClass'] = "gotoMenuEntry";
$attrs['cn'] = $entry['NAME'];
$attrs['gosaApplicationPriority'] = $prio;
+ $attrs['gosaApplicationParameter'] = array();
+
+ foreach($entry['PARAMETER'] as $name => $value){
+ $attrs['gosaApplicationParameter'][] = $name.":".$value;
+ }
}
break;
case "FOLDER" :
$attrs['objectClass'] = "gotoSubmenuEntry";
$attrs['cn'] = $entry['NAME'];
$attrs['gosaApplicationPriority'] = $prio;
+ $attrs['gosaApplicationIcon'] = $entry['ICON'];
}
break;
case "RELEASE" :