/** * Return PHP Extension * @name run * @return string */ public function run() { $html = null; $tool = new Tools(); if ($this->object = $tool->getPatternObject('mysql.connect.json')) { if (isset($this->object->db) && is_array($this->object->db)) { $format = $tool->getRowFormat(); foreach ($this->object->db as $name) { $version = $this->findByDataBase($name); $status = 'FAIL'; $recommended = "(recommended: {$name})"; if (!empty($version)) { $status = 'OK'; $recommended = null; } $html .= PHP_EOL . vsprintf($format, array( $name, $version, $recommended, $status )); } } } echo $html; }
/** * Make PHP Directive * @name run * @return string */ public function run() { $html = null; $tool = new Tools(); if ($object = $tool->getPatternObject('php.directive.json')) { $format = $tool->getRowFormat(); foreach ($object as $directive => $behavior) { $get = "-"; $status = 'FAIL'; $recommended = null; if (!empty($directive) && isset($behavior->value, $behavior->opration)) { $get = ini_get($directive); $value = isset($behavior->regex) ? $tool->renderRegEx($behavior->regex, $get) : $get; $recommended = "(recommended: {$behavior->value})"; @eval("if(\"{$value}\" {$behavior->opration} \"{$behavior->value}\"){" . " \$status = 'OK';" . " \$recommended = null;" . " }"); } $html .= PHP_EOL . vsprintf($format, array( $directive, $get, $recommended, $status )); } } echo $html; }
/** * Return PHP Extension * @name run * @return string */ public function run() { $html = null; $tool = new Tools(); if ($object = $tool->getPatternObject('php.extension.json')) { $format = $tool->getRowFormat(); $extensions = get_loaded_extensions(); foreach ($object as $extension => $behavior) { $version = '-'; $status = 'FAIL'; $recommended = null; if (!empty($extension) && in_array($extension, $extensions)) { $recommended = isset($behavior->recommended) ? "(recommended: {$behavior->recommended})" : null; $info = new ReflectionExtension($extension); if ($extension = $info->getName()) { $version = $info->getVersion(); if (!isset($behavior->regex) || preg_match($behavior->regex, $version)) { $status = 'OK'; $recommended = null; } $version = !empty($version) ? $version : "<small class=\"text-hover\">{$behavior->recommended}</small>"; } } $html .= PHP_EOL . vsprintf($format, array( $extension, $version, $recommended, $status )); } } echo $html; }
/** * Return Date Default Timezone Get * @name run * @return string */ public function run() { $tool = new Tools(); $timezone = '-'; $timezonevalue = 'FAIL'; $recommended = null; if ($object = $tool->getPatternObject('php.timezone.json')) { $timezone = date_default_timezone_get(); $recommended = " <small class=\"text-featured\">(recommended: {$object->name})</small>"; if (preg_match("#^({$object->name})$#i", $timezone)) { $timezonevalue = 'OK'; $recommended = null; }; } echo json_encode(array( array("id" => "#php-timezone", "value" => $timezone . $recommended), array("id" => "#php-timezone-value", "value" => $timezonevalue) )); }
/** * Return Port * @name run * @return string */ public function run() { $tool = new Tools(); $port = '-'; $portvalue = 'FAIL'; $recommended = " <small class=\"text-featured\">(recommended: 3306)</small>"; if ($object = $tool->getPatternObject('mysql.connect.json')) { if ($this->connect($object)) { $port = $this->conn->query('SELECT @@port')->fetchColumn(); if (preg_match("/^(3306)$/i", $port)) { $portvalue = 'OK'; $recommended = null; }; } $this->close(); } echo json_encode(array( array("id" => "#mysql-port", "value" => $port . $recommended), array("id" => "#mysql-port-value", "value" => $portvalue) )); }
/** * Return Version * @name run * @return string */ public function run() { $tool = new Tools(); $version = '-'; $versionvalue = 'FAIL'; $recommended = " <small class=\"text-featured\">(recommended: 5.6+)</small>"; if ($object = $tool->getPatternObject('mysql.connect.json')) { if ($this->connect($object)) { $version = $this->conn->query('SELECT @@version')->fetchColumn(); if (preg_match("/(5\.6\.)/s", $version)) { $versionvalue = 'OK'; $recommended = null; }; } $this->close(); } echo json_encode(array( array("id" => "#mysql-version", "value" => $version . $recommended), array("id" => "#mysql-version-value", "value" => $versionvalue) )); }
/** * Return Default Storage Engine * @name run * @return string */ public function run() { $tool = new Tools(); $defaultstorageengine = '-'; $defaultstorageenginevalue = 'FAIL'; $recommended = " <small class=\"text-featured\">(recommended: InnoDB)</small>"; if ($object = $tool->getPatternObject('mysql.connect.json')) { if ($this->connect($object)) { $defaultstorageengine = $this->conn->query('SELECT @@default_storage_engine')->fetchColumn(); $defaultstorageenginevalue = 'FAIL'; if (preg_match("/^(InnoDB)$/i", $defaultstorageengine)) { $defaultstorageenginevalue = 'OK'; $recommended = null; }; } $this->close(); } echo json_encode(array( array("id" => "#mysql-defaultstorageengine", "value" => $defaultstorageengine . $recommended), array("id" => "#mysql-defaultstorageengine-value", "value" => $defaultstorageenginevalue) )); }
/** * Return Apache Module * @name run * @return string */ public function run() { $html = null; $tool = new Tools(); if ($object = $tool->getPatternObject('apache.module.json')) { $format = $tool->getRowFormat(); foreach ($object as $module => $behavior) { $info = '-'; $status = 'FAIL'; if (!empty($module)) { $info = isset($behavior->info) ? $behavior->info : $info; if (in_array($module, apache_get_modules())) { $status = 'OK'; } } $html .= PHP_EOL . vsprintf($format, array( $module, $info, null, $status )); } } echo $html; }