Version Description
Fix problems relating to over strict chmod usage. Add save message. More informative warnings. Update links to reviewmylife.
Download this release
Release Info
Developer | reviewmylife |
Plugin | Ad Injection |
Version | 0.8.6 |
Comparing to | |
See all releases |
Code changes from version 0.8.5 to 0.8.6
- ad-injection-admin.php +79 -21
- ad-injection.php +32 -16
- readme.txt +10 -1
ad-injection-admin.php
CHANGED
@@ -1,11 +1,15 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
Part of the Ad Injection plugin for WordPress
|
4 |
-
http://www.reviewmylife.co.uk/
|
5 |
*/
|
6 |
|
7 |
if (!is_admin()) return;
|
8 |
|
|
|
|
|
|
|
|
|
9 |
if (is_admin() && !function_exists('check_admin_referer')){
|
10 |
//TODO check_admin_referer doesn't exist on post. Why?
|
11 |
require_once( ABSPATH . WPINC . '/pluggable.php' );
|
@@ -35,11 +39,12 @@ case 'Save all settings':
|
|
35 |
}
|
36 |
|
37 |
if (!file_exists(ADINJ_AD_PATH)){
|
|
|
38 |
mkdir(ADINJ_AD_PATH, 0750) //TODO is this the right permission
|
39 |
-
or
|
40 |
-
|
41 |
}
|
42 |
|
|
|
43 |
$raw_ad_code_random = stripslashes($_POST['ad_code_random_1']);
|
44 |
write_ad_to_file($raw_ad_code_random, ADINJ_AD_PATH.'/'.ADINJ_AD_RANDOM_FILE);
|
45 |
$options['ad_code_random_1'] = $raw_ad_code_random;
|
@@ -60,6 +65,7 @@ case 'Save all settings':
|
|
60 |
|
61 |
update_option('adinj_options', $options);
|
62 |
|
|
|
63 |
adinj_write_config_file();
|
64 |
|
65 |
break;
|
@@ -72,6 +78,7 @@ case 'Save all settings':
|
|
72 |
case 'Delete settings from DB':
|
73 |
adinj_checkNonce();
|
74 |
delete_option('adinj_options');
|
|
|
75 |
break;
|
76 |
}
|
77 |
}
|
@@ -80,8 +87,6 @@ case 'Save all settings':
|
|
80 |
// so be careful if adding any new ones - they might not exist yet, but could
|
81 |
// still be referenced by adshow.
|
82 |
function adinj_write_config_file(){
|
83 |
-
$handle = fopen(ADINJ_CONFIG_FILE, "w") or die("could not open config file: $ad_path");
|
84 |
-
|
85 |
$referrer_list = adinj_quote_list('ad_referrers');
|
86 |
$ip_list = adinj_quote_list('blocked_ips');
|
87 |
$sevisitors_only = adinj_ticked('sevisitors_only')?'true':'false';
|
@@ -110,14 +115,28 @@ $bottom_func
|
|
110 |
?>
|
111 |
CONFIG;
|
112 |
|
113 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
fclose($handle);
|
115 |
-
|
|
|
116 |
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
}
|
118 |
|
119 |
function adinj_get_logo(){
|
120 |
-
return '<a href="http://www.reviewmylife.co.uk/
|
121 |
}
|
122 |
|
123 |
function adinj_options_page(){
|
@@ -141,6 +160,30 @@ function adinj_options_page(){
|
|
141 |
|
142 |
echo '<div id="icon-options-general" class="icon32"></div><h2>Ad Injection ' . adinj_get_version() . adinj_get_logo() . '</h2>';
|
143 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
?>
|
145 |
|
146 |
<div class="postbox-container" style="float:right; width:258px;">
|
@@ -152,11 +195,12 @@ function adinj_options_page(){
|
|
152 |
<h4>More Ad Injection information</h4>
|
153 |
<ul>
|
154 |
<li><a href="http://www.reviewmylife.co.uk/blog/2010/12/06/ad-injection-plugin-wordpress/" target="_new">Ad Injection Home</a></li>
|
|
|
155 |
<li><a href="https://spreadsheets.google.com/viewform?formkey=dFUwZzBYcG1HNzNKMmJZdWFDdFhkY0E6MQ" target="_new">Report a bug or give feedback!</a></li>
|
156 |
</ul>
|
157 |
<h4>More by this author</h4>
|
158 |
<ul>
|
159 |
-
<li><a href="http://www.reviewmylife.co.uk/
|
160 |
<li><a href="http://www.advancedhtml.co.uk/" target="_new">www.advancedhtml.co.uk</a></li>
|
161 |
</ul>
|
162 |
|
@@ -164,8 +208,7 @@ function adinj_options_page(){
|
|
164 |
<p>Make sure that the ad settings and positioning you define are in compliance with your ad provider's terms of service!</p>
|
165 |
|
166 |
<h4><font color="red">Beta version!</font></h4>
|
167 |
-
<p>This plugin has only just been released - please bare with me if there are any bugs. I'm actively listening to your feedback and fixing
|
168 |
-
<p>Appologies to any 0.8.3 users whose ad code was deleted during the upgrade to 0.8.4. I think I have fixed this problem now.</p>
|
169 |
</div>
|
170 |
</div>
|
171 |
</div>
|
@@ -579,6 +622,15 @@ function adinj_debug_information(){
|
|
579 |
echo 'Plugin version='.adinj_get_version();
|
580 |
echo '</blockquote>';
|
581 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
582 |
|
583 |
}
|
584 |
|
@@ -639,7 +691,6 @@ function adinj_activate_hook() {
|
|
639 |
}
|
640 |
}
|
641 |
}
|
642 |
-
update_option('adinj_options', $pending_options);
|
643 |
|
644 |
// Restore data after automatic upgrade
|
645 |
$random_file = ADINJ_AD_PATH.'/'.ADINJ_AD_RANDOM_FILE;
|
@@ -657,6 +708,20 @@ function adinj_activate_hook() {
|
|
657 |
if (!file_exists(ADINJ_CONFIG_FILE)){
|
658 |
adinj_write_config_file();
|
659 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
660 |
}
|
661 |
|
662 |
// If the options in the database are out of sync with our default options
|
@@ -724,18 +789,11 @@ function adinj_getdefault($option){
|
|
724 |
return "(default: " . $default_options[$option] . ")";
|
725 |
}
|
726 |
|
727 |
-
// TODO is the chmod'ing here a bit extreme?
|
728 |
function write_ad_to_file($ad, $ad_path){
|
729 |
-
|
730 |
-
if (file_exists($ad_path)){
|
731 |
-
chmod($ad_path, 0640) or die("chmod failed: $ad_path");
|
732 |
-
}
|
733 |
-
$handle = fopen($ad_path, "w") or die("could not open ad file: $ad_path");
|
734 |
if (strlen($ad) >0){
|
735 |
-
|
736 |
}
|
737 |
-
fclose($handle);
|
738 |
-
chmod($ad_path, 0640) or die("chmod failed: $ad_path");
|
739 |
}
|
740 |
|
741 |
function adinj_docs(){
|
1 |
<?php
|
2 |
/*
|
3 |
Part of the Ad Injection plugin for WordPress
|
4 |
+
http://www.reviewmylife.co.uk/
|
5 |
*/
|
6 |
|
7 |
if (!is_admin()) return;
|
8 |
|
9 |
+
$adinj_error_msg = "";
|
10 |
+
$adinj_warning_msg_chmod = "";
|
11 |
+
$adinj_warning_msg_filewrite = "";
|
12 |
+
|
13 |
if (is_admin() && !function_exists('check_admin_referer')){
|
14 |
//TODO check_admin_referer doesn't exist on post. Why?
|
15 |
require_once( ABSPATH . WPINC . '/pluggable.php' );
|
39 |
}
|
40 |
|
41 |
if (!file_exists(ADINJ_AD_PATH)){
|
42 |
+
global $adinj_warning_msg_filewrite;
|
43 |
mkdir(ADINJ_AD_PATH, 0750) //TODO is this the right permission
|
44 |
+
or $adinj_warning_msg_filewrite .= "<br />Error: could not create dir: ".ADINJ_AD_PATH.". Please create it manually and try again.";
|
|
|
45 |
}
|
46 |
|
47 |
+
// TODO we could stop writing to the ad files if direct insertion mode is used
|
48 |
$raw_ad_code_random = stripslashes($_POST['ad_code_random_1']);
|
49 |
write_ad_to_file($raw_ad_code_random, ADINJ_AD_PATH.'/'.ADINJ_AD_RANDOM_FILE);
|
50 |
$options['ad_code_random_1'] = $raw_ad_code_random;
|
65 |
|
66 |
update_option('adinj_options', $options);
|
67 |
|
68 |
+
// TODO could stop this if not mfunc mode
|
69 |
adinj_write_config_file();
|
70 |
|
71 |
break;
|
78 |
case 'Delete settings from DB':
|
79 |
adinj_checkNonce();
|
80 |
delete_option('adinj_options');
|
81 |
+
// TODO add option to delete ads files as well
|
82 |
break;
|
83 |
}
|
84 |
}
|
87 |
// so be careful if adding any new ones - they might not exist yet, but could
|
88 |
// still be referenced by adshow.
|
89 |
function adinj_write_config_file(){
|
|
|
|
|
90 |
$referrer_list = adinj_quote_list('ad_referrers');
|
91 |
$ip_list = adinj_quote_list('blocked_ips');
|
92 |
$sevisitors_only = adinj_ticked('sevisitors_only')?'true':'false';
|
115 |
?>
|
116 |
CONFIG;
|
117 |
|
118 |
+
adinj_write_file(ADINJ_CONFIG_FILE, $config, 0640);
|
119 |
+
|
120 |
+
}
|
121 |
+
|
122 |
+
function adinj_write_file($path, $content, $permission){
|
123 |
+
global $adinj_warning_msg_filewrite;
|
124 |
+
$handle = fopen($path, "w");
|
125 |
+
fwrite($handle, $content) or $adinj_warning_msg_filewrite .= "<br />Error: could not write to file: $path";
|
126 |
fclose($handle);
|
127 |
+
adinj_chmod($path, $permission);
|
128 |
+
}
|
129 |
|
130 |
+
function adinj_chmod($path, $permission){
|
131 |
+
global $adinj_warning_msg_chmod;
|
132 |
+
$oldperm = fileperms($path);
|
133 |
+
if ($permission == $oldperm) return;
|
134 |
+
chmod($path, $permission) or $adinj_warning_msg_chmod .= "<br />Warning: chmod ".decoct($permission).
|
135 |
+
" on $path failed. Current permissions: ".substr(decoct($oldperm) ,-4).'.<br /> Try manually updating the permission if problems occur.';
|
136 |
}
|
137 |
|
138 |
function adinj_get_logo(){
|
139 |
+
return '<a href="http://www.reviewmylife.co.uk/" target="_new"><img src="'. WP_PLUGIN_URL . '/ad-injection/rml-micro-logo.png" width="16" height="16" border="0" alt="reviewmylife" /></a>';
|
140 |
}
|
141 |
|
142 |
function adinj_options_page(){
|
160 |
|
161 |
echo '<div id="icon-options-general" class="icon32"></div><h2>Ad Injection ' . adinj_get_version() . adinj_get_logo() . '</h2>';
|
162 |
|
163 |
+
if (isset($_POST['adinj_action'])) {
|
164 |
+
echo '<div id="message" class="updated below-h2"><p><strong>';
|
165 |
+
echo 'All settings saved: ';
|
166 |
+
if (is_plugin_active('wp-super-cache/wp-cache.php')) {
|
167 |
+
echo "You might need to <a href='options-general.php?page=wpsupercache&tab=tester'>clear your WP Super Cache cache</a> for the settings to take effect.";
|
168 |
+
} else {
|
169 |
+
echo "If you are using a caching plugin you might need to delete its cache for any changes to take effect.";
|
170 |
+
}
|
171 |
+
echo '</strong>';
|
172 |
+
if ($options['ad_insertion_mode']=='mfunc'){
|
173 |
+
global $adinj_warning_msg_filewrite;
|
174 |
+
if (!empty($adinj_warning_msg_filewrite)){
|
175 |
+
echo $adinj_warning_msg_filewrite;
|
176 |
+
echo "<br />Workaround: If you are unable to fix these errors you will have to switch to a <a href='#restrictions'>direct insertion mode</a> (however dynamic features won't work if you are using a caching plugin).";
|
177 |
+
}
|
178 |
+
}
|
179 |
+
global $adinj_warning_msg_chmod;
|
180 |
+
if (!empty($adinj_warning_msg_chmod)){
|
181 |
+
echo '<br />Info: Some warnings were generated by chmod. See the <a href="#debugging">debugging</a> section for more info.';
|
182 |
+
}
|
183 |
+
echo '</p></div>';
|
184 |
+
|
185 |
+
}
|
186 |
+
|
187 |
?>
|
188 |
|
189 |
<div class="postbox-container" style="float:right; width:258px;">
|
195 |
<h4>More Ad Injection information</h4>
|
196 |
<ul>
|
197 |
<li><a href="http://www.reviewmylife.co.uk/blog/2010/12/06/ad-injection-plugin-wordpress/" target="_new">Ad Injection Home</a></li>
|
198 |
+
<li><a href="http://wordpress.org/extend/plugins/ad-injection/" target="_new">Ad Injection at WordPress</a></li>
|
199 |
<li><a href="https://spreadsheets.google.com/viewform?formkey=dFUwZzBYcG1HNzNKMmJZdWFDdFhkY0E6MQ" target="_new">Report a bug or give feedback!</a></li>
|
200 |
</ul>
|
201 |
<h4>More by this author</h4>
|
202 |
<ul>
|
203 |
+
<li><a href="http://www.reviewmylife.co.uk/" target="_new">www.reviewmylife.co.uk</a></li>
|
204 |
<li><a href="http://www.advancedhtml.co.uk/" target="_new">www.advancedhtml.co.uk</a></li>
|
205 |
</ul>
|
206 |
|
208 |
<p>Make sure that the ad settings and positioning you define are in compliance with your ad provider's terms of service!</p>
|
209 |
|
210 |
<h4><font color="red">Beta version!</font></h4>
|
211 |
+
<p>This plugin has only just been released - please bare with me if there are any bugs. I'm actively listening to your feedback and fixing any problems. Please let me know if you like the plugin too!</p>
|
|
|
212 |
</div>
|
213 |
</div>
|
214 |
</div>
|
622 |
echo 'Plugin version='.adinj_get_version();
|
623 |
echo '</blockquote>';
|
624 |
|
625 |
+
global $adinj_warning_msg_filewrite;
|
626 |
+
if (!empty($adinj_warning_msg_filewrite)){
|
627 |
+
echo "<h4>Errors on 'Save all settings'</h4><blockquote>$adinj_warning_msg_filewrite</blockquote";
|
628 |
+
}
|
629 |
+
|
630 |
+
global $adinj_warning_msg_chmod;
|
631 |
+
if (!empty($adinj_warning_msg_chmod)){
|
632 |
+
echo "<h4>Warnings on 'Save all settings'</h4><blockquote>$adinj_warning_msg_chmod</blockquote";
|
633 |
+
}
|
634 |
|
635 |
}
|
636 |
|
691 |
}
|
692 |
}
|
693 |
}
|
|
|
694 |
|
695 |
// Restore data after automatic upgrade
|
696 |
$random_file = ADINJ_AD_PATH.'/'.ADINJ_AD_RANDOM_FILE;
|
708 |
if (!file_exists(ADINJ_CONFIG_FILE)){
|
709 |
adinj_write_config_file();
|
710 |
}
|
711 |
+
|
712 |
+
// In case ads are saved on file and upgrading from first version on plugin
|
713 |
+
// TODO maybe delete this in a few versions time?
|
714 |
+
if (empty($pending_options['ad_code_random_1']) && file_exists($random_file)){
|
715 |
+
$pending_options['ad_code_random_1'] = read_ad_from_file($random_file);
|
716 |
+
}
|
717 |
+
if (empty($pending_options['ad_code_top_1']) && file_exists($top_file)){
|
718 |
+
$pending_options['ad_code_top_1'] = read_ad_from_file($top_file);
|
719 |
+
}
|
720 |
+
if (empty($pending_options['ad_code_bottom_1']) && file_exists($bottom_file)){
|
721 |
+
$pending_options['ad_code_bottom_1'] = read_ad_from_file($bottom_file);
|
722 |
+
}
|
723 |
+
|
724 |
+
update_option('adinj_options', $pending_options);
|
725 |
}
|
726 |
|
727 |
// If the options in the database are out of sync with our default options
|
789 |
return "(default: " . $default_options[$option] . ")";
|
790 |
}
|
791 |
|
|
|
792 |
function write_ad_to_file($ad, $ad_path){
|
793 |
+
adinj_chmod(ADINJ_AD_PATH, 0750);
|
|
|
|
|
|
|
|
|
794 |
if (strlen($ad) >0){
|
795 |
+
adinj_write_file($ad_path, $ad, 0640);
|
796 |
}
|
|
|
|
|
797 |
}
|
798 |
|
799 |
function adinj_docs(){
|
ad-injection.php
CHANGED
@@ -3,9 +3,9 @@
|
|
3 |
Plugin Name: Ad Injection
|
4 |
Plugin URI: http://www.reviewmylife.co.uk/blog/2010/12/06/ad-injection-plugin-wordpress/
|
5 |
Description: Inserts any advert into your blog. Options to exclude by post age, visitor IP, and visitor referrer. Works with WP Super Cache.
|
6 |
-
Version: 0.8.
|
7 |
Author: reviewmylife
|
8 |
-
Author URI: http://www.reviewmylife.co.uk/
|
9 |
License: GPLv2
|
10 |
*/
|
11 |
|
@@ -120,21 +120,16 @@ function adinj_addsevjs_hook(){
|
|
120 |
wp_enqueue_script('adinj_sev', WP_PLUGIN_URL.'/ad-injection/adinj-sev.js', NULL, NULL, true);
|
121 |
}
|
122 |
|
123 |
-
function
|
124 |
-
|
125 |
-
if ($options['ad_insertion_mode'] == 'mfunc'){
|
126 |
-
$adcode = "\n
|
127 |
<!--mfunc adshow_display_ad_file('$adfile') -->
|
128 |
<?php adshow_display_ad_file('$adfile'); ?>
|
129 |
<!--/mfunc-->
|
130 |
";
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
if ($adfile == ADINJ_AD_BOTTOM_FILE) $prefix = 'bottom_';
|
136 |
-
$adcode = adinj_add_tags($adcode, $prefix);
|
137 |
-
}
|
138 |
if (stripos($adcode, '<?php') !== false){
|
139 |
return adinj_eval_php($adcode);
|
140 |
}
|
@@ -195,19 +190,40 @@ function adinj_add_tags($adcode, $prefix, $func=NULL){
|
|
195 |
}
|
196 |
|
197 |
function adinj_ad_code_random(){
|
198 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
199 |
}
|
200 |
|
201 |
function adinj_ad_code_top(){
|
202 |
global $adinj_total_all_ads_used;
|
203 |
++$adinj_total_all_ads_used;
|
204 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
}
|
206 |
|
207 |
function adinj_ad_code_bottom(){
|
208 |
global $adinj_total_all_ads_used;
|
209 |
++$adinj_total_all_ads_used;
|
210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
}
|
212 |
|
213 |
function read_ad_from_file($ad_path){
|
3 |
Plugin Name: Ad Injection
|
4 |
Plugin URI: http://www.reviewmylife.co.uk/blog/2010/12/06/ad-injection-plugin-wordpress/
|
5 |
Description: Inserts any advert into your blog. Options to exclude by post age, visitor IP, and visitor referrer. Works with WP Super Cache.
|
6 |
+
Version: 0.8.6
|
7 |
Author: reviewmylife
|
8 |
+
Author URI: http://www.reviewmylife.co.uk/
|
9 |
License: GPLv2
|
10 |
*/
|
11 |
|
120 |
wp_enqueue_script('adinj_sev', WP_PLUGIN_URL.'/ad-injection/adinj-sev.js', NULL, NULL, true);
|
121 |
}
|
122 |
|
123 |
+
function adinj_get_mfunc_code($adfile){
|
124 |
+
return "\n
|
|
|
|
|
125 |
<!--mfunc adshow_display_ad_file('$adfile') -->
|
126 |
<?php adshow_display_ad_file('$adfile'); ?>
|
127 |
<!--/mfunc-->
|
128 |
";
|
129 |
+
}
|
130 |
+
|
131 |
+
function adinj_ad_code_eval($adcode, $prefix){
|
132 |
+
$adcode = adinj_add_tags($adcode, $prefix);
|
|
|
|
|
|
|
133 |
if (stripos($adcode, '<?php') !== false){
|
134 |
return adinj_eval_php($adcode);
|
135 |
}
|
190 |
}
|
191 |
|
192 |
function adinj_ad_code_random(){
|
193 |
+
$options = adinj_options();
|
194 |
+
$adcode = "";
|
195 |
+
if ($options['ad_insertion_mode'] == 'mfunc'){
|
196 |
+
$adcode = adinj_get_mfunc_code(ADINJ_AD_RANDOM_FILE);
|
197 |
+
} else {
|
198 |
+
$adcode = $options['ad_code_random_1'];
|
199 |
+
}
|
200 |
+
return adinj_ad_code_eval($adcode, 'rnd_');
|
201 |
}
|
202 |
|
203 |
function adinj_ad_code_top(){
|
204 |
global $adinj_total_all_ads_used;
|
205 |
++$adinj_total_all_ads_used;
|
206 |
+
$options = adinj_options();
|
207 |
+
$adcode = "";
|
208 |
+
if ($options['ad_insertion_mode'] == 'mfunc'){
|
209 |
+
$adcode = adinj_get_mfunc_code(ADINJ_AD_TOP_FILE);
|
210 |
+
} else {
|
211 |
+
$adcode = $options['ad_code_top_1'];
|
212 |
+
}
|
213 |
+
return adinj_ad_code_eval($adcode, 'top_');
|
214 |
}
|
215 |
|
216 |
function adinj_ad_code_bottom(){
|
217 |
global $adinj_total_all_ads_used;
|
218 |
++$adinj_total_all_ads_used;
|
219 |
+
$options = adinj_options();
|
220 |
+
$adcode = "";
|
221 |
+
if ($options['ad_insertion_mode'] == 'mfunc'){
|
222 |
+
$adcode = adinj_get_mfunc_code(ADINJ_AD_BOTTOM_FILE);
|
223 |
+
} else {
|
224 |
+
$adcode = $options['ad_code_bottom_1'];
|
225 |
+
}
|
226 |
+
return adinj_ad_code_eval($adcode, 'bottom_');
|
227 |
}
|
228 |
|
229 |
function read_ad_from_file($ad_path){
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://www.reviewmylife.co.uk/blog/2010/12/06/ad-injection-plugin-w
|
|
4 |
Tags: ad injection, advert injection, advert, ad, injection, adsense, advertising, affiliate, inject, injection, insert, monetize, monetise, banner, Amazon, ClickBank, TradeDoubler, Google, adBrite, post, WordPress, automatically, plugin, free
|
5 |
Requires at least: 3.0.0
|
6 |
Tested up to: 3.0.2
|
7 |
-
Stable tag: 0.8.
|
8 |
|
9 |
Injects any kind of advert into existing WordPress posts. Can restrict who sees the ads by post age, visitor referrer, IP address. Cache compatible.
|
10 |
|
@@ -157,6 +157,12 @@ For more information visit [reviewmylife](http://www.reviewmylife.co.uk/blog/201
|
|
157 |
|
158 |
== Changelog ==
|
159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
= 0.8.5 =
|
161 |
Fix 'Something badly wrong in num_rand_ads_to_insert' message that occurs on page types that I haven't taken account of.
|
162 |
|
@@ -168,6 +174,9 @@ Fix 'Something badly wrong in num_rand_ads_to_insert' message that occurs on pag
|
|
168 |
|
169 |
== Upgrade Notice ==
|
170 |
|
|
|
|
|
|
|
171 |
= 0.8.5 =
|
172 |
If you get a 'Something badly wrong in num_rand_ads_to_insert' message install this update.
|
173 |
|
4 |
Tags: ad injection, advert injection, advert, ad, injection, adsense, advertising, affiliate, inject, injection, insert, monetize, monetise, banner, Amazon, ClickBank, TradeDoubler, Google, adBrite, post, WordPress, automatically, plugin, free
|
5 |
Requires at least: 3.0.0
|
6 |
Tested up to: 3.0.2
|
7 |
+
Stable tag: 0.8.6
|
8 |
|
9 |
Injects any kind of advert into existing WordPress posts. Can restrict who sees the ads by post age, visitor referrer, IP address. Cache compatible.
|
10 |
|
157 |
|
158 |
== Changelog ==
|
159 |
|
160 |
+
= 0.8.6 =
|
161 |
+
Fix problems relating to over strict chmod usage.
|
162 |
+
Add save message.
|
163 |
+
More informative warnings.
|
164 |
+
Update links to reviewmylife.
|
165 |
+
|
166 |
= 0.8.5 =
|
167 |
Fix 'Something badly wrong in num_rand_ads_to_insert' message that occurs on page types that I haven't taken account of.
|
168 |
|
174 |
|
175 |
== Upgrade Notice ==
|
176 |
|
177 |
+
= 0.8.6 =
|
178 |
+
Fix problems relating to over strict chmod usage. And add save message.
|
179 |
+
|
180 |
= 0.8.5 =
|
181 |
If you get a 'Something badly wrong in num_rand_ads_to_insert' message install this update.
|
182 |
|