diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 46a0a4e..57c8536 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,3 +1,9 @@ +v1.1.7 - 2014-02-12 +* Added mixed-mode highlighting + +v1.1.6 - 2013 +* Highlighting now optional + v1.1.5 - 2012-12-20 * Fix authenticate with php_mongo >= 1.3.0 diff --git a/app/classes/BaseController.php b/app/classes/BaseController.php index b7a1c9a..d50cc14 100644 --- a/app/classes/BaseController.php +++ b/app/classes/BaseController.php @@ -211,6 +211,7 @@ protected function _highlight($var, $format = "array", $label = false) { $exportor = new VarExportor($this->_mongo->selectDB("admin"), $var); $varString = null; $highlight = true; + $mixed = false; switch ($this->_server->docsRender()) { case "default": $varString = $exportor->export($format, $label); @@ -220,6 +221,15 @@ protected function _highlight($var, $format = "array", $label = false) { $label = false; $highlight = false; break; + case "mixed": + $varString = $exportor->export($format, false); + if (strlen($varString) > $this->_server->docsRenderLimit()) + $highlight = false; + else + $highlight = true; + $label = false; + $mixed = true; + break; default: $varString = $exportor->export($format, $label); break; @@ -319,4 +329,4 @@ protected function _rememberFormat($format) { -?> \ No newline at end of file +?> diff --git a/app/models/MServer.php b/app/models/MServer.php index 4346784..86acd21 100644 --- a/app/models/MServer.php +++ b/app/models/MServer.php @@ -22,6 +22,7 @@ class MServer { private $_docsNatureOrder = false; private $_docsRender = "default"; + private $_docsRenderLimit = 2000; /** * the server you are operating @@ -95,6 +96,9 @@ public function __construct(array $config) { case "docs_render": $this->_docsRender = $value; break; + case "docs_render_limit": + $this->_docsRenderLimit = $value; + break; } } if (empty($this->_mongoName)) { @@ -256,17 +260,17 @@ public function docsNatureOrder() { /** * Set documents highlight render * - * @param string $render can be "default" or "plain" + * @param string $render can be "default", "plain" or "mixed" * @since 1.1.6 */ public function setDocsRender($render) { - $renders = array( "default", "plain" ); + $renders = array( "default", "plain", "mixed" ); if (in_array($render, $renders)) { $this->_docsRender = $render; } else { - exit("docs_render should be either 'default' or 'plain'"); + exit("docs_render should be 'default', 'plain' or 'mixed'"); } } @@ -280,6 +284,16 @@ public function docsRender() { return $this->_docsRender; } + /** + * Get documents highlight render limit + * + * @return int + * @since 1.1.7 + */ + public function docsRenderLimit() { + return $this->_docsRenderLimit; + } + public function auth($username, $password, $db = "admin") { if ($db === "") { if (!$this->_mongoAuth && $this->_mongoDb) { @@ -468,4 +482,4 @@ public static function currentServer() { } } -?> \ No newline at end of file +?> diff --git a/config.php b/config.php index 8abdd42..4cecd86 100644 --- a/config.php +++ b/config.php @@ -36,7 +36,8 @@ $MONGO["servers"][$i]["ui_hide_system_collections"] = false;//whether hide the system collections //$MONGO["servers"][$i]["docs_nature_order"] = false;//whether show documents by nature order, default is by _id field -//$MONGO["servers"][$i]["docs_render"] = "default";//document highlight render, can be "default" or "plain" +//$MONGO["servers"][$i]["docs_render"] = "mixed";//document highlight render, can be "default", "plain" or "mixed" +//$MONGO["servers"][$i]["docs_render_limit"] = 2000; //in "mixed" mode, documents smaller than this size will highlighted, rest in plain. $i ++; @@ -51,4 +52,4 @@ $i ++; **/ -?> \ No newline at end of file +?> diff --git a/index.php b/index.php index 3f71ff4..536997e 100644 --- a/index.php +++ b/index.php @@ -9,7 +9,7 @@ /** * Defining version number and enabling error reporting */ -define("ROCK_MONGO_VERSION", "1.1.6"); +define("ROCK_MONGO_VERSION", "1.1.7"); error_reporting(E_ALL); @@ -37,4 +37,4 @@ rock_init_plugins(); Rock::start(); -?> \ No newline at end of file +?>