Skip to content

Commit

Permalink
adding in info object for updates
Browse files Browse the repository at this point in the history
Former-commit-id: 111b82f
Former-commit-id: 6602b44e083bf97733d52ae053f9adb5c78fdd0b
  • Loading branch information
aembler committed Dec 1, 2016
1 parent bb246bf commit b3eff1a
Show file tree
Hide file tree
Showing 3 changed files with 362 additions and 98 deletions.
Expand Up @@ -12,114 +12,28 @@ class Info extends DashboardPageController
{
public function get_environment_info()
{
$activeLocale = Localization::activeLocale();
if ($activeLocale != 'en_US') {
Localization::changeLocale('en_US');
}
$maxExecutionTime = ini_get('max_execution_time');
set_time_limit(5);
$info = $this->app->make('\Concrete\Core\System\Info');
/* @var \Concrete\Core\System\Info $info */

$environmentMessage = "# concrete5 Version\n";
$environmentMessage .= "Core Version - " . \Config::get('concrete.version') . "\n";
$environmentMessage .= "Version Installed - " . \Config::get('concrete.version_installed') . "\n";
$environmentMessage .= "Database Version - " . \Config::get('concrete.version_db') . "\n\n";
echo "# concrete5 Version\n".$info->getCoreVersions()."\n\n";

$environmentMessage .= "# concrete5 Packages\n";
$pla = PackageList::get();
$pl = $pla->getPackages();
$packages = array();
foreach ($pl as $p) {
if ($p->isPackageInstalled()) {
$packages[] = $p->getPackageName() . ' (' . $p->getPackageVersion() . ')';
}
}
if (count($packages) > 0) {
natcasesort($packages);
$environmentMessage .= implode(', ', $packages);
$environmentMessage .= ".\n";
} else {
$environmentMessage .= "None\n";
}
$environmentMessage .= "\n";
echo "# concrete5 Packages\n".($info->getPackages() ?: 'None')."\n\n";

// overrides
$environmentMessage .= "# concrete5 Overrides\n";
$env = Environment::get();
$overrides = $env->getOverrideList();
echo "# concrete5 Overrides\n".($info->getOverrides() ?: 'None')."\n\n";

if (count($overrides) > 0) {
$environmentMessage .= implode(', ', $overrides);
$environmentMessage .= "\n";
} else {
$environmentMessage .= "None\n";
}
$environmentMessage .= "\n";
echo "# concrete5 Cache Settings\n".$info->getCache()."\n\n";

print $environmentMessage;
echo "# Server Software\n".$info->getServerSoftware()."\n\n";

// cache
$environmentMessage = "# concrete5 Cache Settings\n";
$environmentMessage .= sprintf("Block Cache - %s\n", Config::get('concrete.cache.blocks') ? 'On' : 'Off');
$environmentMessage .= sprintf("Overrides Cache - %s\n", Config::get('concrete.cache.overrides') ? 'On' : 'Off');
$environmentMessage .= sprintf("Full Page Caching - %s\n", (Config::get('concrete.cache.pages') == 'blocks' ? 'On - If blocks on the particular page allow it.' : (Config::get('concrete.cache.pages') == 'all' ? 'On - In all cases.' : 'Off')));
if (Config::get('concrete.cache.full_page_lifetime')) {
$environmentMessage .= sprintf("Full Page Cache Lifetime - %s\n", (Config::get('concrete.cache.full_page_lifetime') == 'default' ? sprintf('Every %s (default setting).', Core::make('helper/date')->describeInterval(Config::get('concrete.cache.lifetime'))) : (Config::get('concrete.cache.full_page_lifetime') == 'forever' ? 'Only when manually removed or the cache is cleared.' : sprintf('Every %s minutes.', Config::get('concrete.cache.full_page_lifetime_value')))));
}
$environmentMessage .= "\n";
print $environmentMessage;
echo "# Server API\n".$info->getServerAPI()."\n\n";

$environmentMessage = "# Server Software\n" . $_SERVER['SERVER_SOFTWARE'] . "\n\n";
$environmentMessage .= "# Server API\n" . php_sapi_name() . "\n\n";
$environmentMessage .= "# PHP Version\n" . PHP_VERSION . "\n\n";
$environmentMessage .= "# PHP Extensions\n";
if (function_exists('get_loaded_extensions')) {
$gle = @get_loaded_extensions();
natcasesort($gle);
$environmentMessage .= implode(', ', $gle);
$environmentMessage .= ".\n";
} else {
$environmentMessage .= "Unable to determine\n";
}
echo "# PHP Version\n".$info->getPhpVersion()."\n\n";

print $environmentMessage;
echo "# PHP Extensions\n".($info->getPhpExtensions() === false ? 'Unable to determine' : $info->getPhpExtensions())."\n\n";

ob_start();
phpinfo();
$section = 'phpinfo';
$phpinfo = array($section => array());
if (preg_match_all('#(?:<h2>(?:<a name=".*?">)?(.*?)(?:</a>)?</h2>)|(?:<tr(?: class=".*?")?><t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>(?:<t[hd](?: class=".*?")?>(.*?)\s*</t[hd]>)?)?</tr>)#s', ob_get_clean(), $matches, PREG_SET_ORDER)) {
foreach ($matches as $match) {
if (strlen($match[1])) {
$section = $match[1];
$phpinfo[$section] = array();
} elseif (isset($match[3])) {
$phpinfo[$section][$match[2]] = isset($match[4]) ? array($match[3], $match[4]) : $match[3];
} else {
$phpinfo[$section][] = $match[2];
}
}
}
$environmentMessage = "\n# PHP Settings\n";
$environmentMessage .= "max_execution_time - $maxExecutionTime\n";
foreach ($phpinfo as $name => $section) {
foreach ($section as $key => $val) {
if (preg_match('/.*max_execution_time*/', $key)) {
continue;
}
if (!preg_match('/.*limit.*/', $key) && !preg_match('/.*safe.*/', $key) && !preg_match('/.*max.*/', $key)) {
continue;
}
if (is_array($val)) {
$environmentMessage .= "$key - $val[0]\n";
} elseif (is_string($key)) {
$environmentMessage .= "$key - $val\n";
} else {
$environmentMessage .= "$val\n";
}
}
}
echo "# PHP Settings\n".$info->getPhpSettings();

print $environmentMessage;
exit;
}

}

0 comments on commit b3eff1a

Please sign in to comment.