Пример #1
0
 function tools()
 {
     $this->registry =& JFactory::getConfig();
     JToolBarHelper::title(JText::_('Diagnostics'), 'install.png');
     JToolBarHelper::preferences('com_updater', '550');
     JToolBarHelper::help('updaterhelp', true);
     $model = new UpdaterModel();
     $this->manifest = $model->getManifest();
     $registry =& JFactory::getConfig();
     $isnid = $registry->getValue('com_updater.isnid', null);
     list($n1, $n2, $n, $key) = explode('-', $isnid);
     $isnid = "{$n1}-{$n2}";
     /* Get phpInfo() */
     $info = phpinfo_array(true);
     /* TEST Permissions */
     $config =& JFactory::getConfig();
     $target = $config->getValue('config.tmp_path') . DS . md5(time()) . '.php';
     file_put_contents($target, 'test');
     $finfo2 = testFile($target);
     unlink($target);
     $finfo1 = testFile('index.php');
     $finfo3 = testFile($config->getValue('config.tmp_path'));
     $finfo4 = testFile(JPATH_SITE);
     $finfo5 = testFile(JPATH_SITE . '/' . "libraries/joomla/version.php");
     include UPDATER_EVIEWS . 'tools.view.default.html.php';
 }
            return false;
        }
        $file = str_replace('Test.php', '.php', $file);
        if (preg_match('@.*lib[\\\\/]Cake[\\\\/]@', $file)) {
            return preg_replace('@.*tests[\\\\/]cases[\\\\/]@', 'lib' . DS . 'Cake' . DS, $file);
        }
        return preg_replace('@.*tests[\\\\/]cases[\\\\/]@', '', $file);
    }
    return $file;
}
$files = files();
$filename_pattern = '/\\.(php)$/';
$toTest = array();
$exit_status = 0;
foreach ($files as $file) {
    $file = testFile($file);
    if (!$file) {
        continue;
    }
    $toTest[$file] = true;
}
foreach ($toTest as $file) {
    $output = array();
    $cmd = "cake test {$file}";
    echo "{$cmd}\n";
    exec($cmd, $output, $return);
    if ($return != 0) {
        echo implode("\n", $output), "\n";
        $exit_status = 1;
    }
}
Пример #3
0
function scan_directory_recursively($directory, $filter = FALSE, $level = 100)
{
    global $sd_files;
    $directory_tree = array();
    if ($level == 0) {
        return $directory_tree;
    }
    if (substr($directory, -1) == '/') {
        $directory = substr($directory, 0, -1);
    }
    if (!file_exists($directory) || !is_dir($directory)) {
        return FALSE;
    } elseif (is_readable($directory)) {
        $directory_list = opendir($directory);
        while ($file = readdir($directory_list)) {
            if ($file != '.' && $file != '..') {
                $path = $directory . '/' . $file;
                if (is_readable($path)) {
                    $subdirectories = explode('/', $path);
                    if (is_dir($path)) {
                        $directory_tree[] = array('path' => $path, 'name' => end($subdirectories), 'kind' => 'directory', 'content' => scan_directory_recursively($path, $filter, $level - 1));
                        if ($filter == FALSE) {
                            $sd_files[] = testFile($path);
                        }
                    } elseif (is_file($path)) {
                        $extension = end(explode('.', end($subdirectories)));
                        if ($filter === FALSE || $filter == $extension) {
                            $file = array('path' => $path, 'name' => end($subdirectories), 'extension' => $extension, 'size' => filesize($path), 'kind' => 'file');
                            $directory_tree[] = $file;
                            $sd_files[] = testFile($path);
                        }
                    }
                }
            }
        }
        closedir($directory_list);
        return $directory_tree;
    } else {
        return FALSE;
    }
}