ACC SHELL

Path : /srv/www/vhosts/centrumlb/administrace/libs/
File Upload :
Current File : /srv/www/vhosts/centrumlb/administrace/libs/tests.class.php

<?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