X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Finclude%2Ffunctions.inc;h=f6626a8ac9aa9497cb633eb53c83c6d05ac71a6f;hb=d80790d56d1589784e14cef534cc2c1a7590fd9d;hp=70121687e1a4d9ef95fd426af3422cbf79324006;hpb=75a4eeca94a2188fc0fba0e350040708f0b0c66e;p=gosa.git
diff --git a/gosa-core/include/functions.inc b/gosa-core/include/functions.inc
index 70121687e..f6626a8ac 100644
--- a/gosa-core/include/functions.inc
+++ b/gosa-core/include/functions.inc
@@ -88,6 +88,7 @@ define ("DEBUG_CONFIG", 64);
define ("DEBUG_ACL", 128);
define ("DEBUG_SI", 256);
define ("DEBUG_MAIL", 512); // mailAccounts, imap, sieve etc.
+define ("DEBUG_FAI", 1024); // FAI (incomplete)
/* Rewrite german 'umlauts' and spanish 'accents'
to get better results */
@@ -606,6 +607,13 @@ function add_lock($object, $user)
if(!session::global_is_set("LOCK_CACHE")){
session::global_set("LOCK_CACHE",array(""));
}
+ if(is_array($object)){
+ foreach($object as $obj){
+ add_lock($obj,$user);
+ }
+ return;
+ }
+
$cache = &session::global_get("LOCK_CACHE");
if(isset($_POST['open_readonly'])){
$cache['READ_ONLY'][$object] = TRUE;
@@ -615,12 +623,6 @@ function add_lock($object, $user)
unset($cache['READ_ONLY'][$object]);
}
- if(is_array($object)){
- foreach($object as $obj){
- add_lock($obj,$user);
- }
- return;
- }
/* Just a sanity check... */
if ($object == "" || $user == ""){
@@ -660,9 +662,6 @@ function del_lock ($object)
{
global $config;
- echo "$object
";
- print_a(debug_backtrace());
-
if(is_array($object)){
foreach($object as $obj){
del_lock($obj);
@@ -1069,7 +1068,7 @@ function eval_sizelimit()
isset($_POST['action']) && $_POST['action']=="newlimit"){
session::global_set('size_limit', validate($_POST['new_limit']));
- session::global_set('size_ignore', FALSE);
+ session::set('size_ignore', FALSE);
}
/* User wants no limits? */
@@ -1101,8 +1100,8 @@ function getMenuCache()
$str.= chr($e+$n);
if(isset($_GET[$str])){
- if(session::global_is_set('maxC')){
- $b= session::global_get('maxC');
+ if(session::is_set('maxC')){
+ $b= session::get('maxC');
$q= "";
for ($m=0, $l= strlen($b);$m<$l;$m++) {
$q.= $b[$m++];
@@ -1167,6 +1166,7 @@ function get_ou($name)
global $config;
$map = array(
+ "roleRDN" => "ou=roles,",
"ogroupRDN" => "ou=groups,",
"applicationRDN" => "ou=apps,",
"systemRDN" => "ou=systems,",
@@ -1290,13 +1290,16 @@ function gen_locked_message($user, $dn, $allow_readonly = FALSE)
{
global $plug, $config;
+ session::set('dn', $dn);
$remove= false;
/* Save variables from LOCK_VARS_TO_USE in session - for further editing */
- if( session::global_is_set('LOCK_VARS_TO_USE') && count(session::global_get('LOCK_VARS_TO_USE'))){
+ if( session::is_set('LOCK_VARS_TO_USE') && count(session::get('LOCK_VARS_TO_USE'))){
- $LOCK_VARS_USED = array();
- $LOCK_VARS_TO_USE = session::global_get('LOCK_VARS_TO_USE');
+ $LOCK_VARS_USED_GET = array();
+ $LOCK_VARS_USED_POST = array();
+ $LOCK_VARS_USED_REQUEST = array();
+ $LOCK_VARS_TO_USE = session::get('LOCK_VARS_TO_USE');
foreach($LOCK_VARS_TO_USE as $name){
@@ -1306,18 +1309,26 @@ function gen_locked_message($user, $dn, $allow_readonly = FALSE)
foreach($_POST as $Pname => $Pvalue){
if(preg_match($name,$Pname)){
- $LOCK_VARS_USED[$Pname] = $_POST[$Pname];
+ $LOCK_VARS_USED_POST[$Pname] = $_POST[$Pname];
}
}
foreach($_GET as $Pname => $Pvalue){
if(preg_match($name,$Pname)){
- $LOCK_VARS_USED[$Pname] = $_GET[$Pname];
+ $LOCK_VARS_USED_GET[$Pname] = $_GET[$Pname];
+ }
+ }
+
+ foreach($_REQUEST as $Pname => $Pvalue){
+ if(preg_match($name,$Pname)){
+ $LOCK_VARS_USED_REQUEST[$Pname] = $_REQUEST[$Pname];
}
}
}
- session::global_set('LOCK_VARS_TO_USE',array());
- session::global_set('LOCK_VARS_USED' , $LOCK_VARS_USED);
+ session::set('LOCK_VARS_TO_USE',array());
+ session::set('LOCK_VARS_USED_GET' , $LOCK_VARS_USED_GET);
+ session::set('LOCK_VARS_USED_POST' , $LOCK_VARS_USED_POST);
+ session::set('LOCK_VARS_USED_REQUEST' , $LOCK_VARS_USED_REQUEST);
}
/* Prepare and show template */
@@ -1751,7 +1762,8 @@ function gen_uids($rule, $attributes)
/* Don't assign used ones */
if (!in_array($uid, $used)){
- $ret[]= $uid;
+ /* Add uid, but remove {} first. These are invalid anyway. */
+ $ret[]= preg_replace('/[{}]/', '', $uid);
}
}
@@ -1982,40 +1994,7 @@ function compare_revision($revision_file, $revision)
function progressbar($percentage,$width=100,$height=15,$showvalue=false)
{
- $str = ""; // Our return value will be saved in this var
-
- $color = dechex($percentage+150);
- $color2 = dechex(150 - $percentage);
- $bgcolor= $showvalue?"FFFFFF":"DDDDDD";
-
- $progress = (int)(($percentage /100)*$width);
-
- /* If theres a better solution for this, use it... */
- $str = "\n