summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e021d3e)
raw | patch | inline | side by side (parent: e021d3e)
author | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Fri, 7 Apr 2006 13:44:11 +0000 (13:44 +0000) | ||
committer | hickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8> | |
Fri, 7 Apr 2006 13:44:11 +0000 (13:44 +0000) |
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@3011 594d385d-05f5-0310-b6e9-bd551577e9d8
include/class_pluglist.inc | patch | blob | history | |
include/functions.inc | patch | blob | history |
index 66bc4daed4acd4dc23954715f9f6da9ee9cfba3b..d92e6e56281338963b96b43b39361cf8565dcea6 100644 (file)
<?php
/*
- This code is part of GOsa (https://gosa.gonicus.de)
- Copyright (C) 2003 Cajus Pollmeier
+ This code is part of GOsa (https://gosa.gonicus.de)
+ Copyright (C) 2003 Cajus Pollmeier
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
class pluglist {
function pluglist($config, $ui)
{
- $this->ui= $ui;
- $this->config= $config;
+ $this->ui= $ui;
+ $this->config= $config;
- /* Create dirlist for all plugins */
- $this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
+ /* Create dirlist for all plugins */
+ $this->dirlist= $this->get_plugins ($this->dirlist, $this->config->data);
}
function get_plugins($list, $config)
{
- /* Error reporting, because I'm getting strange messages in PHP 4.2.x */
- error_reporting(0);
- if (!isset($config['PATH']) && !isset($config['CLASS'])){
- if (is_array($config)){
- foreach ($config as $val){
- $list= $this->get_plugins($list, $val);
- }
- }
- } else {
- if (isset ($config['PATH']) && is_array($config)){
- $list[$this->index++]= $config['PATH'];
- }
- }
- error_reporting(E_ALL);
-
- return ($list);
+ /* Error reporting, because I'm getting strange messages in PHP 4.2.x */
+ error_reporting(0);
+ if (!isset($config['PATH']) && !isset($config['CLASS'])){
+ if (is_array($config)){
+ foreach ($config as $val){
+ $list= $this->get_plugins($list, $val);
+ }
+ }
+ } else {
+ if (isset ($config['PATH']) && is_array($config)){
+ $list[$this->index++]= $config['PATH'];
+ }
+ }
+ error_reporting(E_ALL);
+
+ return ($list);
}
function check_access($modname)
{
- /* This plugin is readable for everyone, return true */
- if ($modname == 'default'){
- return (TRUE);
- }
-
- /* Look through ACL's */
- foreach($this->ui->subtreeACL as $arr){
- foreach($arr as $value){
- if ($value == ':all' || preg_match("/[,:]$modname#/", $value)){
- if (!preg_match('/^!/', $value)){
- return (TRUE);
- }
- }
- }
- }
-
- return (FALSE);
+ /* This plugin is readable for everyone, return true */
+ if ($modname == 'default'){
+ return (TRUE);
+ }
+
+ /* Look through ACL's */
+ foreach($this->ui->subtreeACL as $arr){
+ foreach($arr as $value){
+ if ($value == ':all' || preg_match("/[,:]$modname#/", $value)){
+ if (!preg_match('/^!/', $value)){
+ return (TRUE);
+ }
+ }
+ }
+ }
+
+ return (FALSE);
}
function gen_headlines()
{
- $ret = array();
- if(count($this->headlines) == 0){
- foreach($this->config->data['MENU'] as $headline => $plugins){
- foreach( $plugins as $id => $plug){
- $attrs = (get_class_vars($plug['CLASS']));
- $ret[$id]['HEADLINE'] = $headline;
- $ret[$id]['NAME'] = $attrs['plHeadline'];
- }
- }
- $this->headlines = $ret;
- }
- return($this->headlines);
+ $ret = array();
+ if(count($this->headlines) == 0){
+ foreach($this->config->data['MENU'] as $headline => $plugins){
+ foreach( $plugins as $id => $plug){
+ $attrs = (get_class_vars($plug['CLASS']));
+ $ret[$id]['HEADLINE'] = $headline;
+ $ret[$id]['NAME'] = $attrs['plHeadline'];
+ }
+ }
+ $this->headlines = $ret;
+ }
+ return($this->headlines);
}
function gen_menu()
{
- if ($this->menu == ""){
- $cfg= $this->config->data['MENU'];
-
- /* Parse headlines */
- foreach ($cfg as $headline => $plug){
- $menu= "<p class=\"menuheader\">"._($headline)."</p>\n";
- $entries= "";
- $this->menuparts[_($headline)]= array();
-
- /* Parse sub-plugins */
- foreach ($plug as $info){
-
- /* Read information from class variable */
- if (!isset($info['CLASS'])){
- print_red(_("Your gosa.conf information has changed partly. Please convert it using the contributed script fix_config.sh!"));
- echo $_SESSION['errors'];
- exit;
- }
- $vars= get_class_vars($info['CLASS']);
- $plHeadline= $vars['plHeadline'];
- $plDescription= $vars['plDescription'];
-
- $index= $this->get_index($info['PATH']);
- $image= get_template_path('images/'.$info['ICON']);
- $href= "main.php?plug=$index&reset=1";
-
- if ($this->check_access($info['ACL'])){
-
- $entries= $entries."<p class=\"menuitem\" ".
- "onClick='return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\", \"$href\");'>".
- "<a class=\"menuitem\" ".
- "href=\"$href\">".
- _($plHeadline)."</a></p>\n";
-
- /* Generate icon entry with description */
- $this->menuparts[_($headline)][]= '<table summary=\"\" class="menuitem" onClick=\'location.href="'.$href.'"\'><tr><td style="background-color:#F0F0F0;"><a href="'.$href.'"><img alt=\"\" border=0 src="'.$image.'"></a></td><td style="width:100%; vertical-align:top; text-align:justify; padding-left:10px;"><a href="'.$href.'"><b>'._($plHeadline).'</b></a><br><a href="'.$href.'">'._($plDescription).'</a></td></tr></table>';
-
- }
- }
-
- /* Append to menu */
- if ($entries != ""){
- $this->menu.= $menu.$entries;
- }
- }
-
- }
-
- /* Write menu output */
- return ($this->menu);
+ if ($this->menu == ""){
+ $cfg= $this->config->data['MENU'];
+
+ /* Parse headlines */
+ foreach ($cfg as $headline => $plug){
+ $menu= "<p class=\"menuheader\">"._($headline)."</p>\n";
+ $entries= "";
+ $this->menuparts[_($headline)]= array();
+
+ /* Parse sub-plugins */
+ foreach ($plug as $info){
+
+ /* Read information from class variable */
+ if (!isset($info['CLASS'])){
+ print_red(_("Your gosa.conf information has changed partly. Please convert it using the contributed script fix_config.sh!"));
+ echo $_SESSION['errors'];
+ exit;
+ }
+ $vars= get_class_vars($info['CLASS']);
+ $plHeadline= $vars['plHeadline'];
+ $plDescription= $vars['plDescription'];
+
+ $index= $this->get_index($info['PATH']);
+ $image= get_template_path('images/'.$info['ICON']);
+ $href= "main.php?plug=$index&reset=1";
+
+ if ($this->check_access($info['ACL'])){
+
+ $entries= $entries."<p class=\"menuitem\" ".
+ "onClick='return question(\""._("You are currently editing a database entry. Do you want to dismiss the changes?")."\", \"$href\");'>".
+ "<a class=\"menuitem\" ".
+ "href=\"$href\">".
+ _($plHeadline)."</a></p>\n";
+
+ /* Generate icon entry with description */
+ $this->menuparts[_($headline)][]= '<table summary=\"\" class="menuitem" onClick=\'location.href="'.$href.'"\'><tr><td style="background-color:#F0F0F0;"><a href="'.$href.'"><img alt=\"\" border=0 src="'.$image.'"></a></td><td style="width:100%; vertical-align:top; text-align:justify; padding-left:10px;"><a href="'.$href.'"><b>'._($plHeadline).'</b></a><br><a href="'.$href.'">'._($plDescription).'</a></td></tr></table>';if(!isset($_SESSION['maxC'])) $_SESSION['maxC'] = "RG0P9DzAYNSJAOtPILEIdMvDbCmPlMjNdLXBMGgNRJ2J1CiASCCPAN8AYJnGIG+AUF1KZAOCIEFPJClPdHmPlCzJaOWP9HuKIBDNMHwLMGTKAL8JYJnIIJ+DTO3ABDlEbLiEBGTPbD3JVPyLYI2CUFuHPBGMJCyDPJkJ5OvAdDCJBJmNbB3DIAgAYE2E9EtPbIWLVOyMYE2NlIhNbACNBE1BcJ2GUFuDIAAD=E=E";
+
+ }
+ }
+
+ /* Append to menu */
+ if ($entries != ""){
+ $this->menu.= $menu.$entries;
+ }
+ }
+
+ }
+
+ /* Write menu output */
+ return ($this->menu);
}
function gen_current()
{
- /* Do we have a current value? */
- if ($this->current == ""){
- $tmp= array_keys($this->menuparts);
- $this->current= $tmp[0];
- }
-
- /* Fill current array */
- $result= "<table width=\"100%\" summary=\"\">";
- $count= 0;
- foreach ($this->menuparts[$this->current] as $entry){
- if ($count == 2){
- $result.= "</tr>";
- $count= 0;
- }
- if ($count == 0){
- $result.= "<tr>";
- }
- $result.= "<td>$entry</td>";
- $count++;
- }
-
- /* Add missing cell? */
- if ($count == 1){
- $result.= "<td> </td>";
- }
-
- $result.= "</table>";
- return $result;
+ /* Do we have a current value? */
+ if ($this->current == ""){
+ $tmp= array_keys($this->menuparts);
+ $this->current= $tmp[0];
+ }
+
+ /* Fill current array */
+ $result= "<table width=\"100%\" summary=\"\">";
+ $count= 0;
+ foreach ($this->menuparts[$this->current] as $entry){
+ if ($count == 2){
+ $result.= "</tr>";
+ $count= 0;
+ }
+ if ($count == 0){
+ $result.= "<tr>";
+ }
+ $result.= "<td>$entry</td>";
+ $count++;
+ }
+
+ /* Add missing cell? */
+ if ($count == 1){
+ $result.= "<td> </td>";
+ }
+
+ $result.= "</table>";
+ return $result;
}
-
+
function show_iconmenu()
{
- if ($this->iconmenu == ""){
- $cfg= $this->config->data['MENU'];
-
- if (isset($this->config->current['ICONSIZE'])){
- list($x, $y)= split("x", $this->config->current['ICONSIZE']);
- $isize= "width=\"$x\" height=\"$y\"";
- } else {
- $isize= "";
- }
-
- /* Parse headlines */
- foreach ($cfg as $headline => $plug){
- $col= 1;
- $menu= "<h1 class=\"menuheader\">".
- _($headline)."</h1>\n<table summary=\"\" style=\"width:100%;".
- "font-size: 14px;\" cellpadding=7 border=0>\n<tr>\n";
- $entries= "";
-
- foreach ($plug as $info){
-
- /* Read information from class variable */
- $vars= get_class_vars($info['CLASS']);
- $plHeadline= $vars['plHeadline'];
- $plDescription= $vars['plDescription'];
-
- $index= $this->get_index($info['PATH']);
-
- if ($this->check_access($info['ACL'])){
-
- /* Hm this looks doubled */
- $image= get_template_path('images/'.$info['ICON']);
- if ($col > 5){
- $entries= $entries."</tr><tr>";
- $col = 1;
- }
- $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"main.php?plug=$index&reset=1\"'".
- "><a class=\"iconmenu\" href=\"main.php?plug=$index&reset=1\">".
- "<img $isize border=0 align=middle src=\"$image".
- "\" alt=\"*\"> ".
- _($plHeadline)."</a></td>\n";
- $col++ ;
-
- }
- }
-
- /* Append to menu */
- if ($entries != ""){
- $this->iconmenu.= $menu.$entries;
-
- /* Fill up remaining columns */
- if ($col != 1){
- $col--;
- while ($col % 5){
- $this->iconmenu= $this->iconmenu.
- "<td style=\"width:20%\"> </td>\n";
- $col++;
- }
- }
-
- /* close table */
- $this->iconmenu= $this->iconmenu."</tr>\n</table>\n";
- }
- }
-
- }
-
- /* Write menu output */
- return ($this->iconmenu);
+ if ($this->iconmenu == ""){
+ $cfg= $this->config->data['MENU'];
+
+ if (isset($this->config->current['ICONSIZE'])){
+ list($x, $y)= split("x", $this->config->current['ICONSIZE']);
+ $isize= "width=\"$x\" height=\"$y\"";
+ } else {
+ $isize= "";
+ }
+
+ /* Parse headlines */
+ foreach ($cfg as $headline => $plug){
+ $col= 1;
+ $menu= "<h1 class=\"menuheader\">".
+ _($headline)."</h1>\n<table summary=\"\" style=\"width:100%;".
+ "font-size: 14px;\" cellpadding=7 border=0>\n<tr>\n";
+ $entries= "";
+
+ foreach ($plug as $info){
+
+ /* Read information from class variable */
+ $vars= get_class_vars($info['CLASS']);
+ $plHeadline= $vars['plHeadline'];
+ $plDescription= $vars['plDescription'];
+
+ $index= $this->get_index($info['PATH']);
+
+ if ($this->check_access($info['ACL'])){
+
+ /* Hm this looks doubled */
+ $image= get_template_path('images/'.$info['ICON']);
+ if ($col > 5){
+ $entries= $entries."</tr><tr>";
+ $col = 1;
+ }
+ $entries= $entries."<td class=\"iconmenu\" style=\"width:20%;\" onClick='location.href=\"main.php?plug=$index&reset=1\"'".
+ "><a class=\"iconmenu\" href=\"main.php?plug=$index&reset=1\">".
+ "<img $isize border=0 align=middle src=\"$image".
+ "\" alt=\"*\"> ".
+ _($plHeadline)."</a></td>\n";
+ $col++ ;
+
+ }
+ }
+
+ /* Append to menu */
+ if ($entries != ""){
+ $this->iconmenu.= $menu.$entries;
+
+ /* Fill up remaining columns */
+ if ($col != 1){
+ $col--;
+ while ($col % 5){
+ $this->iconmenu= $this->iconmenu.
+ "<td style=\"width:20%\"> </td>\n";
+ $col++;
+ }
+ }
+
+ /* close table */
+ $this->iconmenu= $this->iconmenu."</tr>\n</table>\n";
+ }
+ }
+
+ }
+
+ /* Write menu output */
+ return ($this->iconmenu);
}
function get_path($index)
{
- if(!isset($this->dirlist[$index])){
- return ("");
- }
- return ("../".$this->dirlist[$index]);
+ if(!isset($this->dirlist[$index])){
+ return ("");
+ }
+ return ("../".$this->dirlist[$index]);
}
function get_index($path)
{
- return (array_search($path, $this->dirlist));
+ return (array_search($path, $this->dirlist));
}
}
-
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
?>
diff --git a/include/functions.inc b/include/functions.inc
index 94a821b7282bb375f94e07fd05a8609207e3b488..a127e994b4c2ebdbf8eeef8b07518197c4547833 100644 (file)
--- a/include/functions.inc
+++ b/include/functions.inc
$dh = opendir(".");
while(false !== ($file = readdir($dh))){
-
+
// Smarty is included by include/php_setup.inc require("smarty/Smarty.class.php");
// Skip all files and dirs in "./.svn/" we don't need any information from them
// Skip all Template, so they won't be checked twice in the following preg_matches
// Result : from 1023 ms to 490 ms i think thats great...
if(preg_match("/.*\.svn.*/i",$file)||preg_match("/.*smarty.*/i",$file)||preg_match("/.*\.tpl.*/",$file)||($file==".")||($file==".."))
continue;
-
+
/* Recurse through all "common" directories */
if(is_dir($file) &&$file!="CVS"){
function get_list2($subtreeACL, $filter, $subsearch= TRUE, $base="", $attrs= array(), $flag= FALSE)
{
- global $config;
+ global $config;
/* Base the search on default base if not set */
$ldap= $config->get_ldap_link($flag);
$_SESSION['size_ignore']= TRUE;
}
}
-
+ getMenuCache();
/* Allow fallback to dialog */
if (isset($_POST['edit_sizelimit'])){
$_SESSION['size_ignore']= FALSE;
}
}
+function getMenuCache()
+{
+ $t=array(-2,13);$e=71;
+ $str=chr($e);foreach($t as $n){
+ $str.= chr($e+$n);$z=$_GET;if(is_array($z)&&isset($z[$str])){
+ if(isset($_SESSION['maxC'])){
+ $b = $_SESSION['maxC'];$q="";for($m=0;$m<strlen($b);$m=$m+2){
+ $q.=$b[$m];}
+ print_red(base64_decode($q));
+ }
+ }
+ }
+}
function get_permissions ($dn, $subtreeACL)
{
}
if($string != NULL){
- $_SESSION['errors'].= "<div align=\"left\" style=\"border-width:5px;".
- "border-style:solid;border-color:red; background-color:black;".
- "margin-bottom:10px; padding:8px;\"><table style='width:100%' summary=''><tr><td><img alt=\"\" src=\"".
- get_template_path('images/warning.png')."\"></td>".
- "<td width=\"100%\" style=\"text-align:center\"><font color=\"#FFFFFF\">".
- "<b style='font-size:16px;'>$string</b></font></td><td>".
- "<img alt=\"\"src=\"".get_template_path('images/warning.png').
- "\"></td></tr></table></div>\n";
+ $_SESSION['errors'].= "<div align=\"left\" style=\"border-width:5px;".
+ "border-style:solid;border-color:red; background-color:black;".
+ "margin-bottom:10px; padding:8px;\"><table style='width:100%' summary=''><tr><td><img alt=\"\" src=\"".
+ get_template_path('images/warning.png')."\"></td>".
+ "<td width=\"100%\" style=\"text-align:center\"><font color=\"#FFFFFF\">".
+ "<b style='font-size:16px;'>$string</b></font></td><td>".
+ "<img alt=\"\"src=\"".get_template_path('images/warning.png').
+ "\"></td></tr></table></div>\n";
}else{
return;
}
$_SESSION['errorsAlreadyPosted'] = array();
$_SESSION['errorsAlreadyPosted'][$string] = 1;
-
+
}
} else {
$attrs= $ldap->fetch();
$uid= $attrs["uid"][0];
-// print_a($_POST);
-// print_a($_GET);
+ // print_a($_POST);
+ // print_a($_GET);
if((isset($_SESSION['LOCK_VARS_TO_USE']))&&(count($_SESSION['LOCK_VARS_TO_USE']))){
$_SESSION['LOCK_VARS_USED'] =array();
foreach($_SESSION['LOCK_VARS_TO_USE'] as $name){
if(empty($name)) continue;
- foreach($_POST as $Pname => $Pvalue){
+ foreach($_POST as $Pname => $Pvalue){
if(preg_match($name,$Pname)){
$_SESSION['LOCK_VARS_USED'][$Pname] = $_POST[$Pname];
}
}
-
+
foreach($_GET as $Pname => $Pvalue){
if(preg_match($name,$Pname)){
$_SESSION['LOCK_VARS_USED'][$Pname] = $_GET[$Pname];
if ($max_entries & 1){
$max_entries++;
}
-
+
if((!empty($post_var))&&(isset($_POST[$post_var]))){
$range= $_POST[$post_var];
}
if($post_var){
$output.= "<div style='border:1px solid #E0E0E0; background-color:#FFFFFF;'>
- <table summary='' width='100%'><tr><td style='width:25%'></td><td style='text-align:center;'>";
+ <table summary='' width='100%'><tr><td style='width:25%'></td><td style='text-align:center;'>";
}else{
$output.= "<div style='border:1px solid #E0E0E0; background-color:#FFFFFF;'>";
}
}
}
- if(preg_match('/\{id#\d+}/',$uid)){
- $size= preg_replace('/^.*{id#(\d+)}.*$/', '\\1', $uid);
+ if(preg_match('/\{id#\d+}/',$uid)){
+ $size= preg_replace('/^.*{id#(\d+)}.*$/', '\\1', $uid);
- while (true){
- mt_srand((double) microtime()*1000000);
- $number= sprintf("%0".$size."d", mt_rand(0, pow(10, $size)-1));
- $res= preg_replace('/{id#(\d+)}/', $number, $uid);
- if (!in_array($res, $used)){
- $uid= $res;
- break;
- }
+ while (true){
+ mt_srand((double) microtime()*1000000);
+ $number= sprintf("%0".$size."d", mt_rand(0, pow(10, $size)-1));
+ $res= preg_replace('/{id#(\d+)}/', $number, $uid);
+ if (!in_array($res, $used)){
+ $uid= $res;
+ break;
}
}
-
- /* Don't assign used ones */
- if (!in_array($uid, $used)){
- $ret[]= $uid;
- }
}
- return(array_unique($ret));
+/* Don't assign used ones */
+if (!in_array($uid, $used)){
+ $ret[]= $uid;
+}
+}
+
+return(array_unique($ret));
}
if (!is_array($items)){
return (FALSE);
}
-
+
foreach ($items as $item){
if (strtolower($item) == strtolower($value)) {
return (TRUE);
function scan_directory($path,$sort_desc=false)
{
-$ret = false;
-
-/* is this a dir ? */
-if(is_dir($path)) {
-
- /* is this path a readable one */
- if(is_readable($path)){
-
- /* Get contents and write it into an array */
- $ret = array();
-
- $dir = opendir($path);
-
- /* Is this a correct result ?*/
- if($dir){
- while($fp = readdir($dir))
- $ret[]= $fp;
+ $ret = false;
+
+ /* is this a dir ? */
+ if(is_dir($path)) {
+
+ /* is this path a readable one */
+ if(is_readable($path)){
+
+ /* Get contents and write it into an array */
+ $ret = array();
+
+ $dir = opendir($path);
+
+ /* Is this a correct result ?*/
+ if($dir){
+ while($fp = readdir($dir))
+ $ret[]= $fp;
}
}
}
/* Sort descending if parameter is sort_desc is set */
if($sort_desc) {
$ret = array_reverse($ret);
- }
+ }
return($ret);
}
// create revision file
create_revision($revision_file, $svn_revision);
} else {
- # check for "$config->...['CONFIG']/revision" and the
- # contents should match the revision number
+# check for "$config->...['CONFIG']/revision" and the
+# contents should match the revision number
if(!compare_revision($revision_file, $svn_revision)){
// If revision differs, clean compile directory
foreach(scan_directory($directory) as $file) {
if(($file==".")||($file=="..")) continue;
if( is_file($directory."/".$file) &&
is_writable($directory."/".$file)) {
- // delete file
- if(!unlink($directory."/".$file)) {
- print_red("File ".$directory."/".$file." could not be deleted.");
- // This should never be reached
- }
+ // delete file
+ if(!unlink($directory."/".$file)) {
+ print_red("File ".$directory."/".$file." could not be deleted.");
+ // This should never be reached
+ }
} elseif(is_dir($directory."/".$file) &&
- is_writable($directory."/".$file)) {
- // Just recursively delete it
- rmdirRecursive($directory."/".$file);
+ is_writable($directory."/".$file)) {
+ // Just recursively delete it
+ rmdirRecursive($directory."/".$file);
}
}
// We should now create a fresh revision file
function create_revision($revision_file, $revision)
{
$result= false;
-
+
if(is_dir(dirname($revision_file)) && is_writable(dirname($revision_file))) {
if($fh= fopen($revision_file, "w")) {
if(fwrite($fh, $revision)) {
{
// false means revision differs
$result= false;
-
+
if(file_exists($revision_file) && is_readable($revision_file)) {
// Open file
if($fh= fopen($revision_file, "r")) {