Version Description
Download this release
Release Info
| Developer | freediver |
| Plugin | |
| Version | 2.6 |
| Comparing to | |
| See all releases | |
Code changes from version 2.5.2 to 2.6
- help.png → i/help.png +0 -0
- home.png → i/home.png +0 -0
- idea.png → i/idea.png +0 -0
- more.png → i/more.png +0 -0
- p1.png → i/p1.png +0 -0
- rate.png → i/rate.png +0 -0
- previewbubble.js +137 -0
- readme.txt +2 -0
- screenshot-2.png +0 -0
- themedrive.php +35 -10
help.png → i/help.png
RENAMED
|
File without changes
|
home.png → i/home.png
RENAMED
|
File without changes
|
idea.png → i/idea.png
RENAMED
|
File without changes
|
more.png → i/more.png
RENAMED
|
File without changes
|
p1.png → i/p1.png
RENAMED
|
File without changes
|
rate.png → i/rate.png
RENAMED
|
File without changes
|
previewbubble.js
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Preview Bubble Javascript by Juan Xavier Larrea <xavier@websnapr.com>
|
| 3 |
+
http://www.websnapr.com
|
| 4 |
+
|
| 5 |
+
---
|
| 6 |
+
|
| 7 |
+
Ingenier�a inversa por Javier P�rez <javier.perez.m@gmail.com>
|
| 8 |
+
http://javierperez.eu
|
| 9 |
+
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
WordPress 2+ Plugin by Andufo <info@andufo.com>
|
| 13 |
+
http://andufo.com
|
| 14 |
+
*/
|
| 15 |
+
|
| 16 |
+
if(typeof Array.prototype.push!="function") {
|
| 17 |
+
Array.prototype.push=ArrayPush;
|
| 18 |
+
function ArrayPush(_1) {
|
| 19 |
+
this[this.length] = _1;
|
| 20 |
+
}
|
| 21 |
+
}
|
| 22 |
+
function WSR_getElementsByClassName(node, tag_name, class_name) {
|
| 23 |
+
if (!node)
|
| 24 |
+
return;
|
| 25 |
+
var nodes =(tag_name=="*" && node.all) ? node.all : node.getElementsByTagName(tag_name);
|
| 26 |
+
var data = new Array();
|
| 27 |
+
class_name = class_name.replace(/\-/g,"\\-");
|
| 28 |
+
var find_class = new RegExp("(^|\\s)" + class_name + "(\\s|$)");
|
| 29 |
+
var n;
|
| 30 |
+
for(var i=0;i<nodes.length;i++){
|
| 31 |
+
n = nodes[i];
|
| 32 |
+
if(find_class.test(n.className)) {
|
| 33 |
+
data.push(n);
|
| 34 |
+
}
|
| 35 |
+
}
|
| 36 |
+
return(data);
|
| 37 |
+
}
|
| 38 |
+
function bindBubbles(e) {
|
| 39 |
+
var entries = WSR_getElementsByClassName(document.getElementById("theme_preview"), "div", "theme_links");
|
| 40 |
+
if (!entries) return;
|
| 41 |
+
for(var i=0;i<entries.length;i++) {
|
| 42 |
+
var nodes = entries[i].getElementsByTagName('a');
|
| 43 |
+
for(var j=0;j<nodes.length;j++) {
|
| 44 |
+
str = new String(nodes[j]);
|
| 45 |
+
var myDomain = "http://"+document.domain;
|
| 46 |
+
var flgExternal = str.search(myDomain);
|
| 47 |
+
var flgFtp = str.search("ftp://");
|
| 48 |
+
var flgMailto = str.search("mailto:");
|
| 49 |
+
if( flgFtp==-1 && flgMailto==-1) {
|
| 50 |
+
var flgNoFile = 1;
|
| 51 |
+
if(str.substr(str.lastIndexOf(".")+1).match(/zip|exe|rar|swf|mp3|wav|mid|avi|mov|mpg|mpeg|wmv|pdf|doc|ppt|xls|jpeg|jpg|gif|png/)) flgNoFile = 0;
|
| 52 |
+
if(flgNoFile) {
|
| 53 |
+
if(window.addEventListener) {
|
| 54 |
+
nodes[j].addEventListener("mouseover",attachBubble,false);
|
| 55 |
+
nodes[j].addEventListener("mouseout",detachBubble,false);
|
| 56 |
+
} else {
|
| 57 |
+
nodes[j].attachEvent("onmouseover",attachBubble);
|
| 58 |
+
nodes[j].attachEvent("onmouseout",detachBubble);
|
| 59 |
+
}
|
| 60 |
+
}
|
| 61 |
+
}
|
| 62 |
+
}
|
| 63 |
+
}
|
| 64 |
+
}
|
| 65 |
+
function attachBubble(_b, url_image) {
|
| 66 |
+
var _c;
|
| 67 |
+
if(_b["srcElement"]) {
|
| 68 |
+
_c=_b["srcElement"];
|
| 69 |
+
} else {
|
| 70 |
+
_c=_b["target"];
|
| 71 |
+
}
|
| 72 |
+
var _d=_c.href;
|
| 73 |
+
var _e=findPos(_c)[0]+5;
|
| 74 |
+
var _f=findPos(_c)[1]+17;
|
| 75 |
+
var _10=document.createElement("div");
|
| 76 |
+
_10.className="previewbubble";
|
| 77 |
+
_10.setAttribute("style","text-align: left;z-index: 99999;position: absolute;top: "+_f+"px ;left: "+_e+"px ;background: url("+ bubbleImagePath +");width: 461px;height: 330px;padding-top: 40px;padding-left: 40px;padding-bottom: 0;padding-right: 0;margin: 0;");
|
| 78 |
+
_10.style.width="441px";
|
| 79 |
+
_10.style.position="absolute";
|
| 80 |
+
_10.style.top=_f;
|
| 81 |
+
_10.style.zIndex=99999;
|
| 82 |
+
_10.style.left=_e;
|
| 83 |
+
_10.style.textAlign="left";
|
| 84 |
+
_10.style.height="320px";
|
| 85 |
+
_10.style.paddingTop="55px";
|
| 86 |
+
_10.style.paddingLeft="50px";
|
| 87 |
+
_10.style.paddingBottom="0";
|
| 88 |
+
_10.style.paddingRight="0";
|
| 89 |
+
_10.style.marginTop="0";
|
| 90 |
+
_10.style.marginLeft="0";
|
| 91 |
+
_10.style.marginBottom="0";
|
| 92 |
+
_10.style.marginRight="0";
|
| 93 |
+
_10.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bubbleImagePath + "',sizingMethod='scale')";
|
| 94 |
+
var img=document.createElement("img");
|
| 95 |
+
img.setAttribute("style","margin: 0;padding: 0;border: 0");
|
| 96 |
+
img.style.paddingTop="0";
|
| 97 |
+
img.style.paddingLeft="0";
|
| 98 |
+
img.style.paddingBottom="0";
|
| 99 |
+
img.style.paddingRight="0";
|
| 100 |
+
img.style.marginTop="0";
|
| 101 |
+
img.style.marginLeft="0";
|
| 102 |
+
img.style.marginBottom="0";
|
| 103 |
+
img.style.marginRight="0";
|
| 104 |
+
img.style.borderTop="0";
|
| 105 |
+
img.style.borderLeft="0";
|
| 106 |
+
img.style.borderBottom="0";
|
| 107 |
+
img.style.borderRight="0";
|
| 108 |
+
img.setAttribute("src", url_image ? url_image :("http://images.websnapr.com/?size=m&key=42d1W6HhpB0B&url="+_d));
|
| 109 |
+
img.setAttribute("width",400);
|
| 110 |
+
img.setAttribute("height",300);
|
| 111 |
+
img.setAttribute("alt","Snapshot");
|
| 112 |
+
_10.appendChild(img);
|
| 113 |
+
document.getElementsByTagName("body")[0].appendChild(_10);
|
| 114 |
+
}
|
| 115 |
+
function detachBubble(_12) {
|
| 116 |
+
lbActions=WSR_getElementsByClassName(document,"div","previewbubble");
|
| 117 |
+
for(i=0;i<lbActions.length;i++) {
|
| 118 |
+
lbActions[i].parentNode.removeChild(lbActions[i]);
|
| 119 |
+
}
|
| 120 |
+
}
|
| 121 |
+
if(window.addEventListener){
|
| 122 |
+
addEventListener("load",bindBubbles,false);
|
| 123 |
+
} else {
|
| 124 |
+
attachEvent("onload",bindBubbles);
|
| 125 |
+
}
|
| 126 |
+
function findPos(obj) {
|
| 127 |
+
var _14=curtop=0;
|
| 128 |
+
if(obj.offsetParent) {
|
| 129 |
+
_14=obj.offsetLeft;
|
| 130 |
+
curtop=obj.offsetTop;
|
| 131 |
+
while(obj=obj.offsetParent) {
|
| 132 |
+
_14+=obj.offsetLeft;
|
| 133 |
+
curtop+=obj.offsetTop;
|
| 134 |
+
}
|
| 135 |
+
}
|
| 136 |
+
return [_14,curtop];
|
| 137 |
+
}
|
readme.txt
CHANGED
|
@@ -19,6 +19,8 @@ Best part is you can even set the testing theme options (if it has them) in the
|
|
| 19 |
You can also preview any theme by adding "?theme=xxx" to your blog URL. For example http://www.myblog.com/?theme=Default
|
| 20 |
|
| 21 |
Changelog:
|
|
|
|
|
|
|
| 22 |
v2.5.2: removed the thumbnail preview
|
| 23 |
|
| 24 |
v2.5:
|
| 19 |
You can also preview any theme by adding "?theme=xxx" to your blog URL. For example http://www.myblog.com/?theme=Default
|
| 20 |
|
| 21 |
Changelog:
|
| 22 |
+
v2.6: Added user access level
|
| 23 |
+
|
| 24 |
v2.5.2: removed the thumbnail preview
|
| 25 |
|
| 26 |
v2.5:
|
screenshot-2.png
ADDED
|
Binary file
|
themedrive.php
CHANGED
|
@@ -4,7 +4,7 @@ Plugin Name: Theme Test Drive
|
|
| 4 |
Plugin URI: http://www.prelovac.com/vladimir/wordpress-plugins/theme-test-drive
|
| 5 |
Description: Safely test drive any theme while visitors are using the default one. Includes instant theme preview via thumbnail.
|
| 6 |
Author: Vladimir Prelovac
|
| 7 |
-
Version: 2.
|
| 8 |
Author URI: http://www.prelovac.com/vladimir/
|
| 9 |
|
| 10 |
To-Do:
|
|
@@ -15,7 +15,9 @@ To-Do:
|
|
| 15 |
|
| 16 |
// // // PLUGIN CODE // // //
|
| 17 |
|
| 18 |
-
$themedrive_localversion="2.
|
|
|
|
|
|
|
| 19 |
|
| 20 |
function themedrive_handle_theme($package)
|
| 21 |
{
|
|
@@ -182,11 +184,22 @@ function themedrive_get_theme()
|
|
| 182 |
}
|
| 183 |
}
|
| 184 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 185 |
function themedrive_determine_theme()
|
| 186 |
{
|
| 187 |
|
| 188 |
if (!isset($_GET['theme'])) {
|
| 189 |
-
if (! current_user_can(
|
| 190 |
return false;
|
| 191 |
} else {
|
| 192 |
$theme = themedrive_get_theme();
|
|
@@ -323,6 +336,7 @@ function themedrive_is_enabled()
|
|
| 323 |
function themedrive_options_page()
|
| 324 |
{
|
| 325 |
global $themedrive_localversion;
|
|
|
|
| 326 |
|
| 327 |
$status=themedrive_getinfo();
|
| 328 |
|
|
@@ -339,6 +353,9 @@ function themedrive_options_page()
|
|
| 339 |
|
| 340 |
$themedrive = $_POST['td_themes'];
|
| 341 |
update_option('td_themes', $themedrive);
|
|
|
|
|
|
|
|
|
|
| 342 |
$msg_status = "Theme Test Drive Enabled for administrator with ".$themedrive.' theme.';
|
| 343 |
|
| 344 |
|
|
@@ -380,6 +397,12 @@ function themedrive_options_page()
|
|
| 380 |
|
| 381 |
');
|
| 382 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 383 |
|
| 384 |
// Configuration Page
|
| 385 |
_e('
|
|
@@ -393,16 +416,16 @@ function themedrive_options_page()
|
|
| 393 |
<fieldset id="about" class="dbx-box">
|
| 394 |
<h3 class="dbx-handle">Information</h3>
|
| 395 |
<div id="dbx-content">
|
| 396 |
-
<img src="'.
|
| 397 |
-
<img src="'.
|
| 398 |
-
<img src="'.
|
| 399 |
-
<img src="'.
|
| 400 |
<br />
|
| 401 |
|
| 402 |
<p align="center">
|
| 403 |
-
<img src="'.
|
| 404 |
|
| 405 |
-
<p> <img src="'.
|
| 406 |
</div>
|
| 407 |
</div>
|
| 408 |
</div>
|
|
@@ -448,6 +471,7 @@ _e('
|
|
| 448 |
<br>
|
| 449 |
<input class="button" type="submit" name="theme_install" value="Install theme »" />
|
| 450 |
<br><br><br>
|
|
|
|
| 451 |
<div class="dbx-h-andle-wrapper">
|
| 452 |
<h3 class="dbx-handle">Usage</h3>
|
| 453 |
</div>
|
|
@@ -462,7 +486,8 @@ _e('
|
|
| 462 |
|
| 463 |
|
| 464 |
_e('
|
| 465 |
-
|
|
|
|
| 466 |
<p>
|
| 467 |
<strong>Disabling:</strong> If you wish to stop using Theme Test Drive, press <em>Disable</em> button.
|
| 468 |
Alternatively, disabling this plug-in should also do the trick.
|
| 4 |
Plugin URI: http://www.prelovac.com/vladimir/wordpress-plugins/theme-test-drive
|
| 5 |
Description: Safely test drive any theme while visitors are using the default one. Includes instant theme preview via thumbnail.
|
| 6 |
Author: Vladimir Prelovac
|
| 7 |
+
Version: 2.6
|
| 8 |
Author URI: http://www.prelovac.com/vladimir/
|
| 9 |
|
| 10 |
To-Do:
|
| 15 |
|
| 16 |
// // // PLUGIN CODE // // //
|
| 17 |
|
| 18 |
+
$themedrive_localversion="2.6";
|
| 19 |
+
|
| 20 |
+
$wp_themedrive_plugin_url = trailingslashit( get_bloginfo('wpurl') ).PLUGINDIR.'/'. dirname( plugin_basename(__FILE__) );
|
| 21 |
|
| 22 |
function themedrive_handle_theme($package)
|
| 23 |
{
|
| 184 |
}
|
| 185 |
}
|
| 186 |
|
| 187 |
+
function themedrive_get_level()
|
| 188 |
+
{
|
| 189 |
+
$getlevel=get_option('td_level');
|
| 190 |
+
|
| 191 |
+
if (!empty($getlevel)) {
|
| 192 |
+
return 'level_'.$getlevel;
|
| 193 |
+
} else {
|
| 194 |
+
return 'level_10';
|
| 195 |
+
}
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
function themedrive_determine_theme()
|
| 199 |
{
|
| 200 |
|
| 201 |
if (!isset($_GET['theme'])) {
|
| 202 |
+
if (! current_user_can(themedrive_get_level()) ) { // not admin
|
| 203 |
return false;
|
| 204 |
} else {
|
| 205 |
$theme = themedrive_get_theme();
|
| 336 |
function themedrive_options_page()
|
| 337 |
{
|
| 338 |
global $themedrive_localversion;
|
| 339 |
+
global $wp_themedrive_plugin_url;
|
| 340 |
|
| 341 |
$status=themedrive_getinfo();
|
| 342 |
|
| 353 |
|
| 354 |
$themedrive = $_POST['td_themes'];
|
| 355 |
update_option('td_themes', $themedrive);
|
| 356 |
+
|
| 357 |
+
$access_level = (int) $_POST['access_level'];
|
| 358 |
+
update_option('td_level', $access_level);
|
| 359 |
$msg_status = "Theme Test Drive Enabled for administrator with ".$themedrive.' theme.';
|
| 360 |
|
| 361 |
|
| 397 |
|
| 398 |
');
|
| 399 |
}
|
| 400 |
+
|
| 401 |
+
$access_level=get_option('td_level');
|
| 402 |
+
if (empty($access_level))
|
| 403 |
+
$access_level='10';
|
| 404 |
+
|
| 405 |
+
$imgpath=$wp_themedrive_plugin_url.'/i';
|
| 406 |
|
| 407 |
// Configuration Page
|
| 408 |
_e('
|
| 416 |
<fieldset id="about" class="dbx-box">
|
| 417 |
<h3 class="dbx-handle">Information</h3>
|
| 418 |
<div id="dbx-content">
|
| 419 |
+
<img src="'. $imgpath.'/home.png"><a href="http://www.prelovac.com/vladimir/wordpress-plugins/theme-test-drive"> Theme Test Drive Home</a><br /><br />
|
| 420 |
+
<img src="'. $imgpath.'/help.png"><a href="http://www.prelovac.com/vladimir/forum"> Plugin Forums</a><br /><br />
|
| 421 |
+
<img src="'. $imgpath.'/rate.png"><a href="http://wordpress.org/extend/plugins/theme-test-drive/"> Rate this plugin</a><br /><br />
|
| 422 |
+
<img src="'. $imgpath.'/more.png"><a href="http://www.prelovac.com/vladimir/wordpress-plugins"> My WordPress Plugins</a><br /><br />
|
| 423 |
<br />
|
| 424 |
|
| 425 |
<p align="center">
|
| 426 |
+
<img src="'. $imgpath.'/p1.png"></p>
|
| 427 |
|
| 428 |
+
<p> <img src="'. $imgpath.'/idea.png"><a href="http://www.prelovac.com/vladimir/services"> Need a WordPress Expert?</a></p>
|
| 429 |
</div>
|
| 430 |
</div>
|
| 431 |
</div>
|
| 471 |
<br>
|
| 472 |
<input class="button" type="submit" name="theme_install" value="Install theme »" />
|
| 473 |
<br><br><br>
|
| 474 |
+
|
| 475 |
<div class="dbx-h-andle-wrapper">
|
| 476 |
<h3 class="dbx-handle">Usage</h3>
|
| 477 |
</div>
|
| 486 |
|
| 487 |
|
| 488 |
_e('
|
| 489 |
+
<p>You can specify the level of users to have access to the selected theme preview. By default it is set to 10 (admin only). Level 7 are editors, level 4 are authors and level 1 are contributors. The access level is ignored for accessing the site with ?theme=xxx paramaeter. </p><br />
|
| 490 |
+
<input style="border:1px solid #D1D1D1;width:100px;" name="access_level" id="access_level" value="'.$access_level.'" /> Access level<br /><br />
|
| 491 |
<p>
|
| 492 |
<strong>Disabling:</strong> If you wish to stop using Theme Test Drive, press <em>Disable</em> button.
|
| 493 |
Alternatively, disabling this plug-in should also do the trick.
|
