<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[2332] 2013/ahoereth/trunk: Bump to 0.95</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://gsoc.trac.wordpress.org/changeset/2332">2332</a></dd>
<dt>Author</dt> <dd>a.hoereth</dd>
<dt>Date</dt> <dd>2013-09-17 21:45:33 +0000 (Tue, 17 Sep 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Bump to 0.95</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#2013ahoerethtrunkcoderevisionsphp">2013/ahoereth/trunk/code-revisions.php</a></li>
<li><a href="#2013ahoerethtrunkreadmetxt">2013/ahoereth/trunk/readme.txt</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="2013ahoerethtrunkcoderevisionsphp"></a>
<div class="modfile"><h4>Modified: 2013/ahoereth/trunk/code-revisions.php (2331 => 2332)</h4>
<pre class="diff"><span>
<span class="info">--- 2013/ahoereth/trunk/code-revisions.php   2013-09-17 21:02:25 UTC (rev 2331)
+++ 2013/ahoereth/trunk/code-revisions.php      2013-09-17 21:45:33 UTC (rev 2332)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> Plugin URI: http://yrnxt.com/wordpress/code-revisions/
</span><span class="cx"> Description: Brings native code revisions to the WordPress integrated code editors.
</span><span class="cx"> Author: Alexander Höreth
</span><del>-Version: 0.9
</del><ins>+Version: 0.95
</ins><span class="cx"> Author URI: http://yrnxt.com
</span><span class="cx"> License: GPL2
</span><span class="cx"> 
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> */
</span><span class="cx"> 
</span><span class="cx"> if ( ! defined( 'CODE_REVISIONS_VER' ) )
</span><del>-       define( 'CODE_REVISIONS_VER', '0.9' );
</del><ins>+        define( 'CODE_REVISIONS_VER', '0.95' );
</ins><span class="cx"> if ( ! defined( 'CODE_REVISIONS_NAME') )
</span><span class="cx">  define( 'CODE_REVISIONS_NAME', basename(__FILE__, '.php') );
</span><span class="cx"> if ( ! defined( 'CODE_REVISIONS_DIR' ) )
</span></span></pre></div>
<a id="2013ahoerethtrunkreadmetxt"></a>
<div class="modfile"><h4>Modified: 2013/ahoereth/trunk/readme.txt (2331 => 2332)</h4>
<pre class="diff"><span>
<span class="info">--- 2013/ahoereth/trunk/readme.txt   2013-09-17 21:02:25 UTC (rev 2331)
+++ 2013/ahoereth/trunk/readme.txt      2013-09-17 21:45:33 UTC (rev 2332)
</span><span class="lines">@@ -9,8 +9,8 @@
</span><span class="cx"> License: GPLv2 or later
</span><span class="cx"> License URI: http://www.gnu.org/licenses/gpl-2.0.html
</span><span class="cx"> Requires at least: 3.6
</span><del>-Tested up to: 3.6
-Stable tag: 0.9
</del><ins>+Tested up to: 3.7
+Stable tag: 0.95
</ins><span class="cx"> 
</span><span class="cx"> WordPress native revisions for the theme and plugin editors.
</span><span class="cx"> 
</span><span class="lines">@@ -49,13 +49,16 @@
</span><span class="cx"> = 0.9 =
</span><span class="cx"> * Bug fixes, smaller enhancements and readme update
</span><span class="cx"> 
</span><ins>+= 0.95 =
+* Remove revisions on package (theme/plugin) uninstall
+
</ins><span class="cx"> == Developer's Guide ==
</span><span class="cx"> 
</span><del>-_code-revisions.php:_ The main plugin file. It defines constants, loads the other files, instantiates the classes if appropriate and contains the uninstall automatism.
</del><ins>+__code-revisions.php:__ The main plugin file. It defines constants, loads the other files, instantiates the classes if appropriate and contains the uninstall automatism.
</ins><span class="cx"> 
</span><del>-_inc/class-code-revisions.php:_ Loaded on all pages this class does multiple general things. It adds the custom post type required for saving the code revisions (`post_type()`) and redirects the user from the post editor (`wp-admin/edit.php`) to the appropriate code editor (`wp-admin/theme-editor.php` or `wp-admin/plugin-editor.php`) when he tries to view those posts directly (`redirect()`). Further more this class hooks into the WordPress revision restore process to not only restore the post but also the related file (`restore()`) and handles styling the WordPress revision viewer (`wp-admin/revisions.php`) when viewing code revisions so it feels more code-editor-ish (`styles()`).
</del><ins>+__inc/class-code-revisions.php:__ Loaded on all pages this class does multiple general things. It adds the custom post type required for saving the code revisions (`post_type()`) and redirects the user from the post editor (`wp-admin/edit.php`) to the appropriate code editor (`wp-admin/theme-editor.php` or `wp-admin/plugin-editor.php`) when he tries to view those posts directly (`redirect()`). Further more this class hooks into the WordPress revision restore process to not only restore the post but also the related file (`restore()`) and handles styling the WordPress revision viewer (`wp-admin/revisions.php`) when viewing code revisions so it feels more code-editor-ish (`styles()`).
</ins><span class="cx"> 
</span><del>-_inc/code-revisions-editors.php:_ This file contains the `Code_Revisions_Editors` class which, in contrast to the `Code_Revisions` class in `class-code-revisions.php`, is only loaded on the WordPress code editor pages using the `load-plugin-editor.php` and `load-theme-editor.php` hooks. Using either, if available, `POST` and `GET` data or falling back to the appropriate default file the class generates an array containing meta information on the currently viewed file (`generate_meta()`). In an attempt to have as less theme or plugin file specific code this array contains 4 strings:
</del><ins>+__inc/code-revisions-editors.php:__ This file contains the `Code_Revisions_Editors` class which, in contrast to the `Code_Revisions` class in `class-code-revisions.php`, is only loaded on the WordPress code editor pages using the `load-plugin-editor.php` and `load-theme-editor.php` hooks. Using either, if available, `POST` and `GET` data or falling back to the appropriate default file the class generates an array containing meta information on the currently viewed file (`generate_meta()`). In an attempt to have as less theme or plugin file specific code this array contains 4 strings:
</ins><span class="cx"> 
</span><span class="cx"> * type: 'plugin'/'theme'
</span><span class="cx"> * package: theme slug or 'plugin/plugin.php'
</span><span class="lines">@@ -68,12 +71,12 @@
</span><span class="cx"> 
</span><span class="cx"> On file updates through the code editor the plugin checks if the file has actually changed before WordPress writes to it. Only when changes are found a revision needs to be created. If no post is associated with the file yet a new post is created with the old contents. This post is then updated with the new content. This process guarantees that there is a revision with the initial file content to which the user can revert to (`handle_file_update()`). Additionally the plugin tries to do a syntax check for `*.php` files to prevent breaking the WordPress installation (`check_syntax()`). As mostly recommended the plugin utilizes `php -l` for this by writing the new contents to a temporary file. If this feature is not available a more basic check using eval is performed. When a syntax error is found the actual file is not written, but the user is redirected back to the editor with a notification about the error and it's location with line highlighting.
</span><span class="cx"> 
</span><del>-_inc/plugged.php:_ Contains a slightly changed version of the pluggable `wp_text_diff()` function. `wp_text_diff()` is utilized for generating the diffs rendered in the revision viewer. Normally it strips leading, trailing and multiple successive whitespaces. However this behavior is not very helpful when viewing code revisions, wherefore the plugin suppresses it for revisions associated with the custom code revisions post type.
</del><ins>+__inc/plugged.php:__ Contains a slightly changed version of the pluggable `wp_text_diff()` function. `wp_text_diff()` is utilized for generating the diffs rendered in the revision viewer. Normally it strips leading, trailing and multiple successive whitespaces. However this behavior is not very helpful when viewing code revisions, wherefore the plugin suppresses it for revisions associated with the custom code revisions post type.
</ins><span class="cx"> 
</span><del>-_inc/metabox.php:_ The template for the revision metabox.
</del><ins>+__inc/metabox.php:__ The template for the revision metabox.
</ins><span class="cx"> 
</span><del>-_js/editors.js:_ JavaScript for customizing the code editor pages (`wp-admin/plugin-editor.php` and `wp-admin/theme-editor.php`). It adds the revisions metabox below the editors, the revisions text with link next to the 'Update File' button and handles the text replacement and line highlighting when a syntax error was found.
</del><ins>+__js/editors.js:__ JavaScript for customizing the code editor pages (`wp-admin/plugin-editor.php` and `wp-admin/theme-editor.php`). It adds the revisions metabox below the editors, the revisions text with link next to the 'Update File' button and handles the text replacement and line highlighting when a syntax error was found.
</ins><span class="cx"> 
</span><del>-_css/editors.css:_ Styles for the code editors. Enqueued in `inc/class-code-revisions-editors.php -> scripts()`.
</del><ins>+__css/editors.css:__ Styles for the code editors. Enqueued in `inc/class-code-revisions-editors.php -> scripts()`.
</ins><span class="cx"> 
</span><del>-_css/viewer.css:_ Styles for the revision viewer (`wp-admin/revisions.php`). Enqueued only when viewing code revisions in `inc/class-code-revisions.php -> styles()`.
</del><span class="cx">\ No newline at end of file
</span><ins>+__css/viewer.css:__ Styles for the revision viewer (`wp-admin/revisions.php`). Enqueued only when viewing code revisions in `inc/class-code-revisions.php -> styles()`.
</ins><span class="cx">\ No newline at end of file
</span></span></pre>
</div>
</div>

</body>
</html>