Version Description
Download this release
Release Info
Developer | Marios Alexandrou |
Plugin | Real-Time Find and Replace |
Version | 1.0.2 |
Comparing to | |
See all releases |
Code changes from version 1.0.1 to 1.0.2
- js/jquery.dynamicfields.js +11 -0
- js/jquery.highlightFade.js +150 -0
- readme.txt +15 -3
- real-time-find-and-replace.php +1 -1
js/jquery.dynamicfields.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
function addFormField() {
|
2 |
+
var id = document.getElementById("id").value;
|
3 |
+
jQuery("#divTxt").append("<p id='row" + id + "'><label for='farfind" + id + "'>Find: </label><textarea rows='2' cols='30' name='farfind[" + id + "]' id='farfind" + id + "' /></textarea> <label for='farregex" + id + "'>RegEx?: </label><input type='checkbox' name='farregex[" + id + "]' id='farregex" + id + "' /> <label for='farreplace" + id + "'>Replace: </label><textarea rows='2' cols='30' name='farreplace[" + id + "]' id='farreplace" + id + "' /></textarea>   <a href='#' onClick='removeFormField(\"#row" + id + "\"); return false;'>Remove</a></p>");
|
4 |
+
jQuery('#row' + id).highlightFade({
|
5 |
+
speed:1000
|
6 |
+
});
|
7 |
+
id = (id - 1) + 2;
|
8 |
+
document.getElementById("id").value = id;
|
9 |
+
}
|
10 |
+
function removeFormField(id) {
|
11 |
+
jQuery(id).highlightFade({color:'rgb(255,0,0)',complete:function() { jQuery(id).remove() },iterator:'sinusoidal'});}
|
js/jquery.highlightFade.js
ADDED
@@ -0,0 +1,150 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**
|
2 |
+
* jQuery Plugin highlightFade (jquery.offput.ca/highlightFade)
|
3 |
+
* (c) 2006 Blair Mitchelmore (offput.ca) blair@offput.ca
|
4 |
+
*/
|
5 |
+
/**
|
6 |
+
* This is version 0.7 of my highlightFade plugin. It follows the yellow fade technique of Web 2.0 fame
|
7 |
+
* but expands it to allow any starting colour and allows you to specify the end colour as well.
|
8 |
+
*
|
9 |
+
* For the moment, I'm done with this plug-in. Unless I come upon a really cool feature it should have
|
10 |
+
* this plug-in will only receive updates to ensure future compatibility with jQuery.
|
11 |
+
*
|
12 |
+
* As of now (Aug. 16, 2006) the plugin has been written with the 1.0.1 release of jQuery (rev 249) which
|
13 |
+
* is available from http://jquery.com/src/jquery-1.0.1.js
|
14 |
+
*
|
15 |
+
* A note regarding rgb() syntax: I noticed that most browsers implement rgb syntax as either an integer
|
16 |
+
* (0-255) or percentage (0-100%) value for each field, that is, rgb(i/p,i/p,i/p); however, the W3C
|
17 |
+
* standard clearly defines it as "either three integer values or three percentage values" [http://www.w3.org/TR/CSS21/syndata.html]
|
18 |
+
* which I choose to follow despite the error redundancy of the typical behaviour browsers employ.
|
19 |
+
*
|
20 |
+
* Changelog:
|
21 |
+
*
|
22 |
+
* 0.7:
|
23 |
+
* - Added the awesome custom attribute support written by George Adamson (slightly modified)
|
24 |
+
* - Removed bgColor plugin dependency seeing as attr is customizable now...
|
25 |
+
* 0.6:
|
26 |
+
* - Abstracted getBGColor into its own plugin with optional test and data retrieval functions
|
27 |
+
* - Converted all $ references to jQuery references as John's code seems to be shifting away
|
28 |
+
* from that and I don't want to have to update this for a long time.
|
29 |
+
* 0.5:
|
30 |
+
* - Added simple argument syntax for only specifying start colour of event
|
31 |
+
* - Removed old style argument syntax
|
32 |
+
* - Added 'interval', 'final, and 'end' properties
|
33 |
+
* - Renamed 'color' property to 'start'
|
34 |
+
* - Added second argument to $.highlightFade.getBGColor to bypass the e.highlighting check
|
35 |
+
* 0.4:
|
36 |
+
* - Added rgb(%,%,%) color syntax
|
37 |
+
* 0.3:
|
38 |
+
* - Fixed bug when event was called while parent was also running event corrupting the
|
39 |
+
* the background colour of the child
|
40 |
+
* 0.2:
|
41 |
+
* - Fixed bug where an unspecified onComplete function made the page throw continuous errors
|
42 |
+
* - Fixed bug where multiple events on the same element would speed each subsequent event
|
43 |
+
* 0.1:
|
44 |
+
* - Initial Release
|
45 |
+
*
|
46 |
+
* @author Blair Mitchelmore (blair@offput.ca)
|
47 |
+
* @version 0.5
|
48 |
+
*/
|
49 |
+
jQuery.fn.highlightFade = function(settings) {
|
50 |
+
var o = (settings && settings.constructor == String) ? {start: settings} : settings || {};
|
51 |
+
var d = jQuery.highlightFade.defaults;
|
52 |
+
var i = o['interval'] || d['interval'];
|
53 |
+
var a = o['attr'] || d['attr'];
|
54 |
+
var ts = {
|
55 |
+
'linear': function(s,e,t,c) { return parseInt(s+(c/t)*(e-s)); },
|
56 |
+
'sinusoidal': function(s,e,t,c) { return parseInt(s+Math.sin(((c/t)*90)*(Math.PI/180))*(e-s)); },
|
57 |
+
'exponential': function(s,e,t,c) { return parseInt(s+(Math.pow(c/t,2))*(e-s)); }
|
58 |
+
};
|
59 |
+
var t = (o['iterator'] && o['iterator'].constructor == Function) ? o['iterator'] : ts[o['iterator']] || ts[d['iterator']] || ts['linear'];
|
60 |
+
if (d['iterator'] && d['iterator'].constructor == Function) t = d['iterator'];
|
61 |
+
return this.each(function() {
|
62 |
+
if (!this.highlighting) this.highlighting = {};
|
63 |
+
var e = (this.highlighting[a]) ? this.highlighting[a].end : jQuery.highlightFade.getBaseValue(this,a) || [255,255,255];
|
64 |
+
var c = jQuery.highlightFade.getRGB(o['start'] || o['colour'] || o['color'] || d['start'] || [255,255,128]);
|
65 |
+
var s = jQuery.speed(o['speed'] || d['speed']);
|
66 |
+
var r = o['final'] || (this.highlighting[a] && this.highlighting[a].orig) ? this.highlighting[a].orig : jQuery.curCSS(this,a);
|
67 |
+
if (o['end'] || d['end']) r = jQuery.highlightFade.asRGBString(e = jQuery.highlightFade.getRGB(o['end'] || d['end']));
|
68 |
+
if (typeof o['final'] != 'undefined') r = o['final'];
|
69 |
+
if (this.highlighting[a] && this.highlighting[a].timer) window.clearInterval(this.highlighting[a].timer);
|
70 |
+
this.highlighting[a] = { steps: ((s.duration) / i), interval: i, currentStep: 0, start: c, end: e, orig: r, attr: a };
|
71 |
+
jQuery.highlightFade(this,a,o['complete'],t);
|
72 |
+
});
|
73 |
+
};
|
74 |
+
|
75 |
+
jQuery.highlightFade = function(e,a,o,t) {
|
76 |
+
e.highlighting[a].timer = window.setInterval(function() {
|
77 |
+
var newR = t(e.highlighting[a].start[0],e.highlighting[a].end[0],e.highlighting[a].steps,e.highlighting[a].currentStep);
|
78 |
+
var newG = t(e.highlighting[a].start[1],e.highlighting[a].end[1],e.highlighting[a].steps,e.highlighting[a].currentStep);
|
79 |
+
var newB = t(e.highlighting[a].start[2],e.highlighting[a].end[2],e.highlighting[a].steps,e.highlighting[a].currentStep);
|
80 |
+
jQuery(e).css(a,jQuery.highlightFade.asRGBString([newR,newG,newB]));
|
81 |
+
if (e.highlighting[a].currentStep++ >= e.highlighting[a].steps) {
|
82 |
+
jQuery(e).css(a,e.highlighting[a].orig || '');
|
83 |
+
window.clearInterval(e.highlighting[a].timer);
|
84 |
+
e.highlighting[a] = null;
|
85 |
+
if (o && o.constructor == Function) o.call(e);
|
86 |
+
}
|
87 |
+
},e.highlighting[a].interval);
|
88 |
+
};
|
89 |
+
|
90 |
+
jQuery.highlightFade.defaults = {
|
91 |
+
start: [255,255,128],
|
92 |
+
interval: 50,
|
93 |
+
speed: 400,
|
94 |
+
attr: 'backgroundColor'
|
95 |
+
};
|
96 |
+
|
97 |
+
jQuery.highlightFade.getRGB = function(c,d) {
|
98 |
+
var result;
|
99 |
+
if (c && c.constructor == Array && c.length == 3) return c;
|
100 |
+
if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))
|
101 |
+
return [parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];
|
102 |
+
else if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))
|
103 |
+
return [parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];
|
104 |
+
else if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))
|
105 |
+
return [parseInt("0x" + result[1]),parseInt("0x" + result[2]),parseInt("0x" + result[3])];
|
106 |
+
else if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))
|
107 |
+
return [parseInt("0x"+ result[1] + result[1]),parseInt("0x" + result[2] + result[2]),parseInt("0x" + result[3] + result[3])];
|
108 |
+
else
|
109 |
+
return jQuery.highlightFade.checkColorName(c) || d || null;
|
110 |
+
};
|
111 |
+
|
112 |
+
jQuery.highlightFade.asRGBString = function(a) {
|
113 |
+
return "rgb(" + a.join(",") + ")";
|
114 |
+
};
|
115 |
+
|
116 |
+
jQuery.highlightFade.getBaseValue = function(e,a,b) {
|
117 |
+
var s, t;
|
118 |
+
b = b || false;
|
119 |
+
t = a = a || jQuery.highlightFade.defaults['attr'];
|
120 |
+
do {
|
121 |
+
s = jQuery(e).css(t || 'backgroundColor');
|
122 |
+
if ((s != '' && s != 'transparent') || (e.tagName.toLowerCase() == "body") || (!b && e.highlighting && e.highlighting[a] && e.highlighting[a].end)) break;
|
123 |
+
t = false;
|
124 |
+
} while (e = e.parentNode);
|
125 |
+
if (!b && e.highlighting && e.highlighting[a] && e.highlighting[a].end) s = e.highlighting[a].end;
|
126 |
+
if (s == undefined || s == '' || s == 'transparent') s = [255,255,255];
|
127 |
+
return jQuery.highlightFade.getRGB(s);
|
128 |
+
};
|
129 |
+
|
130 |
+
jQuery.highlightFade.checkColorName = function(c) {
|
131 |
+
if (!c) return null;
|
132 |
+
switch(c.replace(/^\s*|\s*$/g,'').toLowerCase()) {
|
133 |
+
case 'aqua': return [0,255,255];
|
134 |
+
case 'black': return [0,0,0];
|
135 |
+
case 'blue': return [0,0,255];
|
136 |
+
case 'fuchsia': return [255,0,255];
|
137 |
+
case 'gray': return [128,128,128];
|
138 |
+
case 'green': return [0,128,0];
|
139 |
+
case 'lime': return [0,255,0];
|
140 |
+
case 'maroon': return [128,0,0];
|
141 |
+
case 'navy': return [0,0,128];
|
142 |
+
case 'olive': return [128,128,0];
|
143 |
+
case 'purple': return [128,0,128];
|
144 |
+
case 'red': return [255,0,0];
|
145 |
+
case 'silver': return [192,192,192];
|
146 |
+
case 'teal': return [0,128,128];
|
147 |
+
case 'white': return [255,255,255];
|
148 |
+
case 'yellow': return [255,255,0];
|
149 |
+
}
|
150 |
+
};
|
readme.txt
CHANGED
@@ -2,8 +2,8 @@
|
|
2 |
Contributors: marios-alexandrou
|
3 |
Tags: find, replace
|
4 |
Requires at least: 2.7
|
5 |
-
Tested up to: 2.
|
6 |
-
Stable tag: 1.0.
|
7 |
|
8 |
Set up find and replace rules that are executed AFTER a page is generated by WordPress, but BEFORE it is sent to a user's browser.
|
9 |
|
@@ -40,4 +40,16 @@ Unless you're using 50+ rules, you shouldn't notice any performance impact.
|
|
40 |
|
41 |
= What does the regex checkbox do? =
|
42 |
|
43 |
-
You can do a straight up find and replace where the plugin will look for an exact match of what you specified. You can also used advanced pattern matching that is available through regular expressions by checking the regex checkbox.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
Contributors: marios-alexandrou
|
3 |
Tags: find, replace
|
4 |
Requires at least: 2.7
|
5 |
+
Tested up to: 2.9.1
|
6 |
+
Stable tag: 1.0.2
|
7 |
|
8 |
Set up find and replace rules that are executed AFTER a page is generated by WordPress, but BEFORE it is sent to a user's browser.
|
9 |
|
40 |
|
41 |
= What does the regex checkbox do? =
|
42 |
|
43 |
+
You can do a straight up find and replace where the plugin will look for an exact match of what you specified. You can also used advanced pattern matching that is available through regular expressions by checking the regex checkbox.
|
44 |
+
|
45 |
+
= I like this plugin, do you have others? =
|
46 |
+
|
47 |
+
I sure do!
|
48 |
+
|
49 |
+
Social Media E-Mail Alerts
|
50 |
+
Receive e-mail alerts when your site gets traffic from social media sites of your choosing. You can also set up alerts for when certain parameters app
|
51 |
+
http://wordpress.org/extend/plugins/social-media-email-alerts/
|
52 |
+
|
53 |
+
RSS Includes Pages
|
54 |
+
Modifies RSS feeds so that they include pages and not just posts.
|
55 |
+
http://wordpress.org/extend/plugins/rss-includes-pages/
|
real-time-find-and-replace.php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Real-Time Find and Replace
|
4 |
-
Version: 1.0.
|
5 |
Plugin URI: http://www.mariosalexandrou.com/wordpress-real-time-find-and-replace.asp
|
6 |
Description: Set up find and replace rules that are executed AFTER a page is generated by WordPress, but BEFORE it is sent to a user's browser.
|
7 |
Author: Marios Alexandrou
|
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Real-Time Find and Replace
|
4 |
+
Version: 1.0.2
|
5 |
Plugin URI: http://www.mariosalexandrou.com/wordpress-real-time-find-and-replace.asp
|
6 |
Description: Set up find and replace rules that are executed AFTER a page is generated by WordPress, but BEFORE it is sent to a user's browser.
|
7 |
Author: Marios Alexandrou
|