ACC SHELL
<?php
namespace pureCms\Testing;
/**
*
* @version 1.0
* @copyright 3.4.2012
*/
class Tests {
private $valid = true;
function __construct() {
}
/*
* @param $directory to check or create
* @param create if true, non existing directory will be created
* @return true if directory exists or was successfully created
*/
public static function testDir($directory, $create = false) {
if (!is_dir(ROOT . $directory) && $create == true) {
if ($create == false) {
Tools::message('Adresář (' . $directory . ') neexistuje, ale dle nastavení nemůže být vytvořen.', 'ERR');
return false;
}
if (!mkdir(ROOT . $directory, null, true)) {
Tools::message('Adresář (' . $directory . ') neexistuje a nepovedlo se jeho vytvoření.', 'ERR');
return false;
}
} else {
if (self::testWrite($directory)) {
return true;
} else {
return false;
}
}
return true;
}
/*
* @param $directory to check if is possible to write files
* @return true if is possible to write files
*/
public static function testWrite($directory) {
$dir = ROOT . $directory;
$file = 'iswritable.log';
$test = fopen($dir . '/' . $file, 'w+');
if (fwrite($test, 'test if the file is writable')) {
return true;
} else {
Tools::message('Zápis souboru (' . $dir . ') se nepovedl.', 'ERR');
return false;
}
fclose($test);
}
}
ACC SHELL 2018