73 if (empty($a_ini_file_name))
75 $this->
error(
"no_file_given");
79 $this->INI_FILE_NAME = $a_ini_file_name;
91 if (!file_exists($this->INI_FILE_NAME))
93 $this->
error(
"file_does_not_exist");
99 if ($this->
parse() ==
false)
116 $this->GROUPS = @parse_ini_file($this->INI_FILE_NAME,
true);
119 if ($this->GROUPS ==
false)
124 $this->GROUPS = @parse_ini_file($this->INI_FILE_NAME,
true);
125 if ($this->GROUPS ==
false)
127 $this->
error(
"file_not_accessible");
132 $temp = array_keys($this->GROUPS);
133 $this->CURRENT_GROUP = $temp[count($temp)-1];
145 $fp = @fopen($this->INI_FILE_NAME,
"r");
148 $l = fgets($fp, 4096);
150 if ((substr(
$l, 0, 2) ==
"/*" && $starttag) ||
151 substr(
$l, 0, 5) ==
"*/ ?>")
156 if (substr(
$l, 0, 5) ==
"<?php")
158 $l =
"; <?php exit; ?>";
163 $l = str_replace(
"\n",
"",
$l);
164 $l = str_replace(
"\r",
"",
$l);
171 $fp = @fopen($this->INI_FILE_NAME,
"w");
175 foreach ($lines as
$l)
177 fwrite($fp, $l.
"\r\n");
191 if (ereg(
"\[([[:alnum:]]+)\]",$a_data,
$out))
193 $this->CURRENT_GROUP= trim(
$out[1]);
195 elseif (!empty($a_data))
197 $split_data = split(
"=", $a_data);
210 $this->GROUPS = $a_data;
221 $fp = @fopen($this->INI_FILE_NAME,
"w");
225 $this->
error(
"Cannot create file $this->INI_FILE_NAME");
230 $result = fwrite($fp,
"; <?php exit; ?>\r\n");
233 $group_cnt = count($groups);
235 for ($i=0; $i<$group_cnt; $i++)
237 $group_name = $groups[$i];
241 $res = sprintf(
"[%s]\r\n",$group_name);
245 $res = sprintf(
"\r\n[%s]\r\n",$group_name);
248 $result = fwrite($fp,
$res);
251 for (reset($group); $key=key($group);next($group))
253 $res = sprintf(
"%s = %s\r\n",$key,
"\"".$group[$key].
"\"");
254 $result = fwrite($fp,
$res);
272 $group_cnt = count($groups);
278 for ($i=0; $i<$group_cnt; $i++)
280 $group_name = $groups[$i];
284 $content = sprintf(
"[%s]\n",$group_name);
288 $content .= sprintf(
"\n[%s]\n",$group_name);
294 for (reset($group); $key=key($group);next($group))
296 $content .= sprintf(
"%s = %s\n",$key,$group[$key]);
310 return count($this->GROUPS);
322 for (reset($this->GROUPS);$key=key($this->GROUPS);next($this->GROUPS))
338 if (!isset($this->GROUPS[$a_group_name]))
356 $this->
error(
"Group '".$a_group_name.
"' does not exist");
360 return $this->GROUPS[$a_group_name];
373 $this->
error(
"Group '".$a_group_name.
"' exists");
377 $this->GROUPS[$a_group_name] = array();
391 $this->
error(
"Group '".$a_group_name.
"' does not exist");
395 unset($this->GROUPS[$a_group_name]);
408 return isset($this->GROUPS[$a_group][$a_var_name]);
421 if (!isset($this->GROUPS[$a_group][$a_var_name]))
423 $this->
error(
"'".$a_var_name.
"' does not exist in '".$a_group.
"'");
427 return trim($this->GROUPS[$a_group][$a_var_name]);
442 $this->
error(
"Group '".$a_group_name.
"' does not exist");
446 $this->GROUPS[$a_group_name][$a_var_name] = $a_var_value;
457 $this->ERROR = $a_errmsg;