帮个忙,看下这个PHP 有什么函数没定义 |
<?php
### Version 0.1 Build 2
### Date: Nov 05, 2008, 11:45am
### Version 0.1 Build 1
### Date: Oct 31, 2008, 11:30am
include "hdirpermchk.conf.php";
include "autohome_function.php";
include "mount_function.php";
include "filedir_function.php";
include "email_function.php";
include "array_to_file.php";
$home_mount_points = array();
$yp_auto_home_result = array();
$fail_permissions = array();
$mount_failures = array();
$yp_auto_home_result = get_autohome();
$home_mount_points = get_home_mountpoint($yp_auto_home_result);
#write_debug_file("Result from querying yp's auto_home", $yp_auto_home_result, "\$yp_auto_home_result");
#write_debug_file("All the mount points use for auto_home", $home_mount_points, "\$home_mount_points");
print "Checking Home directories permissions...\n";
check_home_permissions($home_mount_points, $mount_directory);
write_debug_file("Fail Permissions only Array", $fail_permissions, "\$fail_permissions");
if (sizeof($fail_permissions) == 0)
print "All permissions passed. No need to send email notification\n";
else {
print "Some permissions failed. Sending email notification now..\n";
sent_email($fail_permissions, $mount_failures);
# test_email_sender();
print "Email send completed.\n";
}
print "Check completed.\n";
function write_debug_file($title, $variable, $variable_name) {
global $create_debug_file, $debug_filename, $debug_result;
static $first = 0;
static $footer = 0;
if ($create_debug_file != 1)
return;
if ($first == 0) {
$file = fopen($debug_filename,"w");
$first = 1;
}
else {
$file = fopen($debug_filename,"a");
}
if (sizeof(trim($title)) == 0)
$title = "no title provided";
fwrite($file,"########## $title ##########\n");
set_array_to_file($file, $variable, $variable_name);
fwrite($file,"\n\n");
fclose($file);
}
function check_home_permissions($home_mount_points, $mount_directory) {
global $fail_permissions;
global $mount_failures;
$directories = array();
$fail_perms_directories = array();
$counter = 0;
foreach (array_keys($home_mount_points) as $mountpoint) {
############## Prevent to check all. ################
# if ($counter > 2)
# break;
# else
# $counter++;
###########################################################
# mount_nfs_with_check($mountpoint, $mount_directory);
$mount_status = mount_nfs_with_readback($mountpoint, $mount_directory);
if (strlen($mount_status) != 0) {
if (! array_key_exists($mountpoint, $mount_failures) ) {
$mount_failures[$mountpoint] = "";
$mount_failures[$mountpoint]["error"] = $mount_status;
}
}
$directories = get_directories($mount_directory);
$fail_perms_directories = get_fail_perms($directories);
if ( sizeof($fail_perms_directories) > 0) {
if ( !array_key_exists($mountpoint, $fail_permissions) ) {
$fail_permissions[$mountpoint] = "";
}
foreach (array_keys($fail_perms_directories) as $fail_perms_directory) {
$user = $fail_perms_directories[$fail_perms_directory]["user"];
$group = $fail_perms_directories[$fail_perms_directory]["group"];
$perms = $fail_perms_directories[$fail_perms_directory]["permissions"];
$fail_permissions[$mountpoint][$fail_perms_directory] = "";
$fail_permissions[$mountpoint][$fail_perms_directory]["user"] = $user;
$fail_permissions[$mountpoint][$fail_perms_directory]["group"] = $group;
$fail_permissions[$mountpoint][$fail_perms_directory]["permissions"] = $perms;
}
}
# write_debug_file("All directories withing \"$mountpoint\" mount point", $directories, "\$directories");
}
unmount_nfs($mount_directory);
}
######### End ######
|
|
|