X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_debconfTemplate.inc;h=d781321ec8daba9f701e18fa561ff5738a966e41;hb=b55c9da0cc1fed54d967f22d17380948e94d40a0;hp=d044c46f79124065eac9e2dc6a7315feca4ddd79;hpb=b142c7c6ab7c04dcba13a8921261f21af842b770;p=gosa.git diff --git a/include/class_debconfTemplate.inc b/include/class_debconfTemplate.inc index d044c46f7..d781321ec 100644 --- a/include/class_debconfTemplate.inc +++ b/include/class_debconfTemplate.inc @@ -4,7 +4,7 @@ class debconf { var $package= ""; var $language= ""; - var $has_template= FALSE; + var $loaded_template= FALSE; var $template_directory= ""; var $template= array(); @@ -19,7 +19,6 @@ class debconf function set_package($package) { $this->package= $package; - return ($this->load()); } @@ -43,25 +42,30 @@ class debconf function load() { - /* Reject requests, if parameters are not set */ - if ($this->package == "" || $this->template_directory == ""){ - return (FALSE); - } - - /* Try to load package based template file */ - $filename= preg_replace("/\/+/", "/", $this->template_directory."/".$this->package.".templates"); - if (is_file($filename) && is_readable($filename)){ + if( TRUE === $this->has_template() ) { + + /* Try to load package based template file */ $this->template= array(); /* Read template array */ - $post_name = 0; - $langcode = $this->language.".UTF-8"; - $in_description = FALSE; - $got_local_description= FALSE; + $post_name = 0; + $langcode = $this->language.".UTF-8"; + $in_description = FALSE; + $got_local_description = FALSE; + + /* get filename */ + $filename= preg_replace("/\/+/", "/", $this->template_directory."/".$this->package.".templates"); + /* Check if file is readable */ + if (!is_file($filename) || !is_readable($filename)){ + return(FALSE); + } + + /* Open file and read content line by line */ $fh= fopen($filename, 'r'); - while (!feof($fh)){ + /* While the file handle is valid && there is still data to read -> parse configuration file */ + while ($fh && !feof($fh)){ $line= fgets($fh, 1024); /* Reset description flag */ @@ -144,7 +148,7 @@ class debconf } fclose($fh); - $this->has_template= TRUE; + $this->loaded_template= TRUE; $tmp= array(); foreach($this->template as $post_name => $template){ @@ -156,14 +160,19 @@ class debconf return (TRUE); } - $this->has_template= FALSE; + $this->loaded_template= FALSE; return (FALSE); } function has_template() { - return ($this->has_template); + /* Reject requests, if parameters are not set */ + if ($this->package == "" || $this->template_directory == ""){ + return (FALSE); + } + $filename= preg_replace("/\/+/", "/", $this->template_directory."/".$this->package.".templates"); + return (is_file($filename) && is_readable($filename)); } @@ -209,7 +218,7 @@ class debconf /* This funtion sets the defualt value */ function SetDefault($var,$val) { - if($this->has_template){ + if ($this->loaded_template) { foreach($this->template as $key => $tmp){ if($tmp['Name'] == $var ){ $this->template[$key]['Default'] = $val; @@ -222,7 +231,7 @@ class debconf /* Display all possible options in html*/ function get_dialog() { - if ($this->has_template){ + if ($this->loaded_template) { $result= "