index 62ca20be90ef9dd3ef3e39363cb94139ba1f7d7a..2cf169292471d632d676dd4ee9ef418c91c679a3 100644 (file)
define ("CONFIG_FILE",$_SERVER['CONFIG_FILE']);
}
-define ("CONFIG_TEMPLATE_DIR", "../contrib/");
+define ("CONFIG_TEMPLATE_DIR", "../contrib");
define ("TEMP_DIR","/var/cache/gosa/tmp");
/* Define get_list flags */
@@ -905,16 +905,14 @@ function get_sub_list($filter, $category,$sub_deps, $base= "", $attributes= arra
}else{
/* Sort in every value that fits the permissions */
- if (is_array($category)){
- foreach ($category as $o){
- if ($ui->get_category_permissions($dn, $o) != ""){
- $result[]= $attrs;
- break;
- }
- }
- } else {
- if ( $ui->get_category_permissions($dn, $category) != ""){
+ if (!is_array($category)){
+ $category = array($category);
+ }
+ foreach ($category as $o){
+ if((preg_match("/\//",$o) && preg_match("/r/",$ui->get_permissions($dn,$o))) ||
+ (!preg_match("/\//",$o) && preg_match("/r/",$ui->get_category_permissions($dn, $o)))){
$result[]= $attrs;
+ break;
}
}
}
@@ -975,19 +973,14 @@ function get_list($filter, $category, $base= "", $attributes= array(), $flags= G
}else{
/* Sort in every value that fits the permissions */
- if (is_array($category)){
- foreach ($category as $o){
- if ($ui->get_category_permissions($dn, $o) != ""){
-
- /* We found what we were looking for, break speeds things up */
- $result[]= $attrs;
- }
- }
- } else {
- if ($ui->get_category_permissions($dn, $category) != ""){
-
- /* We found what we were looking for, break speeds things up */
+ if (!is_array($category)){
+ $category = array($category);
+ }
+ foreach ($category as $o){
+ if((preg_match("/\//",$o) && preg_match("/r/",$ui->get_permissions($dn,$o))) ||
+ (!preg_match("/\//",$o) && preg_match("/r/",$ui->get_category_permissions($dn, $o)))){
$result[]= $attrs;
+ break;
}
}
}
function convert_department_dn($dn, $base = NULL)
{
global $config;
- $dep= "";
if($base == NULL){
$base = $config->current['BASE'];
$dn = preg_replace("/".normalizePreg($base)."$/i","",$dn);
if(empty($dn)) return("/");
- foreach (split(',', $dn) as $rdn){
- /* We're only interested in organizational units... */
- if (substr($rdn,0,3) == 'ou='){
- $dep= substr($rdn,3)."/$dep";
- }
-
- /* ... and location objects */
- if (substr($rdn,0,2) == 'l='){
- $dep= substr($rdn,2)."/$dep";
- }
+ $dep= "";
+ foreach (split(',', $dn) as $rdn){
+ $dep = preg_replace("/^[^=]+=/","",$rdn)."/".$dep;
}
/* Return and remove accidently trailing slashes */
- return rtrim($dep, "/");
+ return(trim($dep, "/"));
}
"printerou" => "ou=printers,ou=systems,",
"phoneou" => "ou=phones,ou=systems,",
"componentou" => "ou=netdevices,ou=systems,",
+ "winstations" => "ou=winstation,",
+
"blocklistou" => "ou=gofax,ou=systems,",
"incomingou" => "ou=incoming,",
"aclroleou" => "ou=aclroles,",
@@ -2369,6 +2356,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
"pl_PL" => "Polish",
"sv_SE" => "Swedish",
"zh_CN" => "Chinese",
+ "vi_VN" => "Vietnamese",
"ru_RU" => "Russian");
$tmp2= array(
@@ -2381,6 +2369,7 @@ function get_languages($languages_in_own_language = FALSE,$strip_region_tag = FA
"pl_PL" => _("Polish"),
"sv_SE" => _("Swedish"),
"zh_CN" => _("Chinese"),
+ "vi_VN" => _("Vietnamese"),
"ru_RU" => _("Russian"));
$ret = array();
header("Content-type: ".$type."");
$HTTP_USER_AGENT = $_SERVER['HTTP_USER_AGENT'];
+
+ /* Strip name if it is a complete path */
+ if (preg_match ("/\//", $name)) {
+ $name= basename($name);
+ }
/* force download dialog */
if (preg_match('/MSIE 5.5/', $HTTP_USER_AGENT) || preg_match('/MSIE 6.0/', $HTTP_USER_AGENT)) {
}
+function reverse_html_entities($str,$type = ENT_QUOTES , $charset = "UTF-8")
+{
+ if(is_string($str)){
+ return(htmlentities($str,$type,$charset));
+ }elseif(is_array($str)){
+ foreach($str as $name => $value){
+ $str[$name] = reverse_html_entities($value,$type,$charset);
+ }
+ }
+ return($str);
+}
+
+
/*! \brief Encode special string characters so we can use the string in \
HTML output, without breaking quotes.
@param The String we want to encode.
function xmlentities($str)
{
if(is_string($str)){
- return(htmlentities($str,ENT_QUOTES));
+
+ static $asc2uni= array();
+ if (!count($asc2uni)){
+ for($i=128;$i<256;$i++){
+ # $asc2uni[chr($i)] = "&#x".dechex($i).";";
+ }
+ }
+
+ $str = str_replace("&", "&", $str);
+ $str = str_replace("<", "<", $str);
+ $str = str_replace(">", ">", $str);
+ $str = str_replace("'", "'", $str);
+ $str = str_replace("\"", """, $str);
+ $str = str_replace("\r", "", $str);
+ $str = strtr($str,$asc2uni);
+ return $str;
}elseif(is_array($str)){
foreach($str as $name => $value){
$str[$name] = xmlentities($value);