diff --git a/modules/statistics/hooks/hook_sanitycheck.php b/modules/statistics/hooks/hook_sanitycheck.php new file mode 100644 index 0000000000000000000000000000000000000000..1d7ea71fe0f99952d3018dcc76aed8d0e48f4f63 --- /dev/null +++ b/modules/statistics/hooks/hook_sanitycheck.php @@ -0,0 +1,40 @@ +<?php +/** + * Hook to do santity checks + * + * @param array &$hookinfo hookinfo + */ +function statistics_hook_sanitycheck(&$hookinfo) { + assert('is_array($hookinfo)'); + assert('array_key_exists("errors", $hookinfo)'); + assert('array_key_exists("info", $hookinfo)'); + + try { + $config = SimpleSAML_Configuration::getInstance(); + $statconfig = $config->copyFromBase('statconfig', 'statistics.php'); + } catch(Exception $e) { + $hookinfo['errors'][] = '[statistics] Could not get configuration: ' . $e->getMessage(); return; + } + + $statdir = $statconfig->getValue('statdir'); + $inputfile = $statconfig->getValue('inputfile'); + + if (file_exists($statdir)) { + $hookinfo['info'][] = '[statistics] Statistics dir [' . $statdir . '] exists'; + if (is_writable($statdir)) { + $hookinfo['info'][] = '[statistics] Statistics dir [' . $statdir . '] is writable'; + } else { + $hookinfo['errors'][] = '[statistics] Statistics dir [' . $statdir . '] is not writable'; + } + } else { + $hookinfo['errors'][] = '[statistics] Statistics dir [' . $statdir . '] does not exists'; + } + + + if (file_exists($inputfile)) { + $hookinfo['info'][] = '[statistics] Input file [' . $inputfile . '] exists'; + } else { + $hookinfo['errors'][] = '[statistics] Input file [' . $inputfile . '] does not exists'; + } +} +?> \ No newline at end of file