Example #1
0
 public static function checkWritable($filename, $optional = False, $template = False)
 {
     $basename = basename($filename);
     $failure = $optional ? 'blue' : 'red';
     $status = $optional ? 'Optional' : 'Warning';
     if (!file_exists($filename) && !$optional) {
         $fp = fopen($filename, 'w');
         if ($fp) {
             if ($template !== False) {
                 switch ($template) {
                     case 'PHP':
                         fwrite($fp, "<?php\n");
                         break;
                     case 'JSON':
                         fwrite($fp, CoreLocal::convertIniPhpToJson());
                         break;
                 }
             }
             fclose($fp);
         }
     }
     if (!file_exists($filename)) {
         echo "<span style=\"color:{$failure};\"><b>{$status}</b>: {$basename} does not exist</span><br />";
         if (!$optional) {
             echo "<b>Advice</b>: <div style=\"font-face:mono;background:#ccc;padding:8px;\">\n                    touch \"" . realpath(dirname($filename)) . "/" . basename($filename) . "\"<br />\n                    chown " . self::whoami() . " \"" . realpath(dirname($filename)) . "/" . basename($filename) . "\"</div>";
         }
     } elseif (is_writable($filename)) {
         echo "<span style=\"color:green;\">{$basename} is writeable</span><br />";
     } else {
         echo "<span style=\"color:red;\"><b>Warning</b>: {$basename} is not writeable</span><br />";
         echo "<b>Advice</b>: <div style=\"font-face:mono;background:#ccc;padding:8px;\">\n                chown " . self::whoami() . " \"" . realpath(dirname($filename)) . "/" . basename($filename) . "\"<br />\n                chmod 600 \"" . realpath(dirname($filename)) . "/" . basename($filename) . "\"</div>";
     }
 }