Changeset 490370
- Timestamp:
- 01/15/2012 08:33:09 PM (14 years ago)
- Location:
- abtest/trunk
- Files:
-
- 18 edited
-
abtest.php (modified) (6 diffs)
-
admin/add_goal.php (modified) (1 diff)
-
admin/add_ip_filter.php (modified) (1 diff)
-
admin/add_variation.php (modified) (2 diffs)
-
admin/create_experiment.php (modified) (1 diff)
-
admin/delete_experiment.php (modified) (1 diff)
-
admin/delete_goal.php (modified) (1 diff)
-
admin/delete_ip_filter.php (modified) (1 diff)
-
admin/delete_variation.php (modified) (1 diff)
-
admin/edit_experiment.php (modified) (2 diffs)
-
admin/edit_goal.php (modified) (2 diffs)
-
admin/edit_ip_filter.php (modified) (2 diffs)
-
admin/edit_variation.php (modified) (2 diffs)
-
admin/get_tracking_code.php (modified) (1 diff)
-
admin/list_experiments.php (modified) (1 diff)
-
admin/list_ip_filters.php (modified) (1 diff)
-
admin/show_experiment.php (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
abtest/trunk/abtest.php
r490307 r490370 24 24 global $wpdb; 25 25 26 $experiments = $wpdb->get_results("SELECT * FROM wp_abtest_experiments");26 $experiments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."abtest_experiments"); 27 27 28 28 foreach ($experiments as $exp) { 29 29 if (!isset($_SESSION['abtest_experiment_'.$exp->id.'_variation']) || $_SESSION['abtest_debug']) { 30 30 // Get variation 31 $variation = $wpdb->get_row( $wpdb->prepare( 'SELECT * FROM wp_abtest_variations WHERE experiment_id=%d ORDER BY RAND() LIMIT 1', $exp->id) );31 $variation = $wpdb->get_row( $wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_variations WHERE experiment_id=%d ORDER BY RAND() LIMIT 1", $exp->id) ); 32 32 33 33 // Set session … … 69 69 if (!$_SESSION['abtest_debug']) { 70 70 // Increase views on the variation 71 $wpdb->query( $wpdb->prepare( 'UPDATE wp_abtest_variations SET views=views+1 WHERE id=%d', $variation_id) );72 73 $wpdb->query( $wpdb->prepare( '74 INSERT INTO wp_abtest_variation_views(variation_id, session_id, ip, date)75 VALUES(%d, %s, %s, NOW()) ', $variation_id, session_id(), $_SERVER['REMOTE_ADDR'] ) );71 $wpdb->query( $wpdb->prepare("UPDATE ".$wpdb->prefix."abtest_variations SET views=views+1 WHERE id=%d", $variation_id) ); 72 73 $wpdb->query( $wpdb->prepare(" 74 INSERT INTO ".$wpdb->prefix."abtest_variation_views(variation_id, session_id, ip, date) 75 VALUES(%d, %s, %s, NOW())", $variation_id, session_id(), $_SERVER['REMOTE_ADDR'] ) ); 76 76 } 77 77 } … … 81 81 82 82 if (!$_SESSION['abtest_debug']) { 83 $wpdb->query( $wpdb->prepare( '84 INSERT INTO wp_abtest_goal_hits(goal_id, session_id, ip, date)85 VALUES(%d, %s, %s, NOW()) ', $goal_id, session_id(), $_SERVER['REMOTE_ADDR'] ) );83 $wpdb->query( $wpdb->prepare(" 84 INSERT INTO ".$wpdb->prefix."abtest_goal_hits(goal_id, session_id, ip, date) 85 VALUES(%d, %s, %s, NOW())", $goal_id, session_id(), $_SERVER['REMOTE_ADDR'] ) ); 86 86 } 87 87 } … … 101 101 function abtest_experiments_script() { 102 102 global $wpdb; 103 $experiments = $wpdb->get_results("SELECT * FROM wp_abtest_experiments WHERE type='javascript'");103 $experiments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE type='javascript'"); 104 104 105 105 if (count($experiments) > 0) { … … 120 120 function abtest_experiments_stylesheet() { 121 121 global $wpdb; 122 $experiments = $wpdb->get_results("SELECT * FROM wp_abtest_experiments WHERE type='stylesheet'");122 $experiments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE type='stylesheet'"); 123 123 124 124 if (count($experiments) > 0) { … … 191 191 function change_theme($theme) { 192 192 global $wpdb; 193 $exp = $wpdb->get_row("SELECT * FROM wp_abtest_experiments WHERE type='theme'");193 $exp = $wpdb->get_row("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE type='theme'"); 194 194 195 195 if ($exp) { -
abtest/trunk/admin/add_goal.php
r490307 r490370 4 4 // Insert the goal 5 5 $name = stripslashes($_POST['name']); 6 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_goals SET experiment_id=%d, name=%s', $experiment_id, $name));6 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_goals SET experiment_id=%d, name=%s", $experiment_id, $name)); 7 7 8 8 redirect_to('?page=abtest&action=show_experiment&id=' . $experiment_id); -
abtest/trunk/admin/add_ip_filter.php
r490307 r490370 4 4 $ip = stripslashes($_POST['ip']); 5 5 $description = stripslashes($_POST['description']); 6 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_ip_filters SET ip=%s, description=%s', $ip, $description));6 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_ip_filters SET ip=%s, description=%s", $ip, $description)); 7 7 8 8 redirect_to('?page=abtest&action=list_ip_filters'); -
abtest/trunk/admin/add_variation.php
r490307 r490370 5 5 $name = stripslashes($_POST['name']); 6 6 $content = stripslashes($_POST['content']); 7 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_variations SET experiment_id=%d, name=%s, content=%s', $experiment_id, $name, $content));7 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_variations SET experiment_id=%d, name=%s, content=%s", $experiment_id, $name, $content)); 8 8 9 9 redirect_to('?page=abtest&action=show_experiment&id=' . $experiment_id); … … 14 14 } 15 15 16 $exp = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_experiments WHERE id=%d', $experiment_id));16 $exp = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE id=%d", $experiment_id)); 17 17 $themes = get_themes(); 18 18 ?> -
abtest/trunk/admin/create_experiment.php
r490307 r490370 5 5 $type = stripslashes($_POST['type']); 6 6 7 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_experiments SET name=%s, type=%s', $name, $type));7 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_experiments SET name=%s, type=%s", $name, $type)); 8 8 $id = $wpdb->insert_id; 9 9 10 10 // Insert variations 11 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_variations SET experiment_id=%d, name=%s', $id, 'Variation 1'));12 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_variations SET experiment_id=%d, name=%s', $id, 'Variation 2'));11 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_variations SET experiment_id=%d, name=%s", $id, 'Variation 1')); 12 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_variations SET experiment_id=%d, name=%s", $id, 'Variation 2')); 13 13 14 14 // Insert goal 15 $wpdb->query($wpdb->prepare( 'INSERT INTO wp_abtest_goals SET experiment_id=%d, name=%s', $id, 'Goal 1'));15 $wpdb->query($wpdb->prepare("INSERT INTO ".$wpdb->prefix."abtest_goals SET experiment_id=%d, name=%s", $id, 'Goal 1')); 16 16 17 17 redirect_to('?page=abtest&action=show_experiment&id=' . $id); -
abtest/trunk/admin/delete_experiment.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $var = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_experiments WHERE id=%d', $id));3 $var = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { 6 6 // Delete the experiment 7 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_goal_hits WHERE goal_id IN (SELECT id FROM wp_abtest_goals WHERE experiment_id=%d)', $id));8 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_goals WHERE experiment_id=%d', $id));7 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_goal_hits WHERE goal_id IN (SELECT id FROM ".$wpdb->prefix."abtest_goals WHERE experiment_id=%d)", $id)); 8 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_goals WHERE experiment_id=%d", $id)); 9 9 10 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_variation_views WHERE variation_id IN (SELECT id FROM wp_abtest_variations WHERE experiment_id=%d)', $id));11 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_variations WHERE experiment_id=%d', $id));10 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_variation_views WHERE variation_id IN (SELECT id FROM ".$wpdb->prefix."abtest_variations WHERE experiment_id=%d)", $id)); 11 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_variations WHERE experiment_id=%d", $id)); 12 12 13 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_experiments WHERE id=%d', $id));13 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_experiments WHERE id=%d", $id)); 14 14 15 15 redirect_to('?page=abtest'); -
abtest/trunk/admin/delete_goal.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $var = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_goals WHERE id=%d', $id));3 $var = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_goals WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { 6 6 // Delete the goal 7 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_goal_hits WHERE goal_id=%d', $id));8 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_goals WHERE id=%d', $id));7 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_goal_hits WHERE goal_id=%d", $id)); 8 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_goals WHERE id=%d", $id)); 9 9 10 10 redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id); -
abtest/trunk/admin/delete_ip_filter.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $filter = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_ip_filters WHERE id=%d', $id));3 $filter = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_ip_filters WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { 6 6 // Delete the ip_filter 7 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_ip_filters WHERE id=%d', $id));7 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_ip_filters WHERE id=%d", $id)); 8 8 9 9 redirect_to('?page=abtest&action=list_ip_filters'); -
abtest/trunk/admin/delete_variation.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $var = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_variations WHERE id=%d', $id));3 $var = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_variations WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { 6 6 // Delete the variation 7 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_variation_views WHERE variation_id=%d', $id));8 $wpdb->query($wpdb->prepare( 'DELETE FROM wp_abtest_variations WHERE id=%d', $id));7 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_variation_views WHERE variation_id=%d", $id)); 8 $wpdb->query($wpdb->prepare("DELETE FROM ".$wpdb->prefix."abtest_variations WHERE id=%d", $id)); 9 9 10 10 redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id); -
abtest/trunk/admin/edit_experiment.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $var = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_experiments WHERE id=%d', $id));3 $var = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { … … 7 7 $name = stripslashes($_POST['name']); 8 8 9 $wpdb->query($wpdb->prepare( 'UPDATE wp_abtest_experiments SET name=%s WHERE id=%d', $name, $id));9 $wpdb->query($wpdb->prepare("UPDATE ".$wpdb->prefix."abtest_experiments SET name=%s WHERE id=%d", $name, $id)); 10 10 11 11 redirect_to('?page=abtest&action=show_experiment&id=' . $id); -
abtest/trunk/admin/edit_goal.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $var = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_goals WHERE id=%d', $id));3 $var = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_goals WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { … … 7 7 $name = stripslashes($_POST['name']); 8 8 9 $wpdb->query($wpdb->prepare( 'UPDATE wp_abtest_goals SET name=%s WHERE id=%d', $name, $id));9 $wpdb->query($wpdb->prepare("UPDATE ".$wpdb->prefix."abtest_goals SET name=%s WHERE id=%d", $name, $id)); 10 10 11 11 redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id); -
abtest/trunk/admin/edit_ip_filter.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $filter = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_ip_filters WHERE id=%d', $id));3 $filter = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_ip_filters WHERE id=%d", $id)); 4 4 5 5 if ($_SERVER['REQUEST_METHOD'] == 'POST') { … … 8 8 $description = stripslashes($_POST['description']); 9 9 10 $wpdb->query($wpdb->prepare( 'UPDATE wp_abtest_ip_filters SET ip=%s, description=%s WHERE id=%d', $ip, $description, $id));10 $wpdb->query($wpdb->prepare("UPDATE ".$wpdb->prefix."abtest_ip_filters SET ip=%s, description=%s WHERE id=%d", $ip, $description, $id)); 11 11 12 12 redirect_to('?page=abtest&action=list_ip_filters'); -
abtest/trunk/admin/edit_variation.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $var = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_variations WHERE id=%d', $id));4 $exp = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_experiments WHERE id=%d', $var->experiment_id));3 $var = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_variations WHERE id=%d", $id)); 4 $exp = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE id=%d", $var->experiment_id)); 5 5 6 6 if ($_SERVER['REQUEST_METHOD'] == 'POST') { … … 9 9 $content = stripslashes($_POST['content']); 10 10 11 $wpdb->query($wpdb->prepare( 'UPDATE wp_abtest_variations SET name=%s, content=%s WHERE id=%d', $name, $content, $id));11 $wpdb->query($wpdb->prepare("UPDATE ".$wpdb->prefix."abtest_variations SET name=%s, content=%s WHERE id=%d", $name, $content, $id)); 12 12 13 13 redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id); -
abtest/trunk/admin/get_tracking_code.php
r490307 r490370 1 1 <?php 2 2 $id = (int)$_GET['id']; 3 $goal = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_goals WHERE id=%d', $id));3 $goal = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_goals WHERE id=%d", $id)); 4 4 ?> 5 5 <div class="wrap"> -
abtest/trunk/admin/list_experiments.php
r490307 r490370 1 1 <?php 2 $experiments = $wpdb->get_results( 'SELECT * FROM wp_abtest_experiments ORDER BY name');2 $experiments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."abtest_experiments ORDER BY name"); 3 3 ?> 4 4 -
abtest/trunk/admin/list_ip_filters.php
r490307 r490370 1 1 <?php 2 $filters = $wpdb->get_results( 'SELECT * FROM wp_abtest_ip_filters ORDER BY id');2 $filters = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."abtest_ip_filters ORDER BY id"); 3 3 ?> 4 4 <div class="wrap"> -
abtest/trunk/admin/show_experiment.php
r490307 r490370 3 3 4 4 $id = (int)$_GET['id']; 5 $exp = $wpdb->get_row($wpdb->prepare( 'SELECT * FROM wp_abtest_experiments WHERE id=%d', $id));5 $exp = $wpdb->get_row($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_experiments WHERE id=%d", $id)); 6 6 7 $variation_stats = $wpdb->get_results($wpdb->prepare( '7 $variation_stats = $wpdb->get_results($wpdb->prepare(" 8 8 SELECT *, 9 (SELECT COUNT(DISTINCT session_id) FROM wp_abtest_variation_views WHERE variation_id=wp_abtest_variations.id AND ip NOT IN (SELECT ip FROM wp_abtest_ip_filters)) AS views,10 (SELECT COUNT(DISTINCT wp_abtest_variation_views.session_id)11 FROM wp_abtest_variation_views12 INNER JOIN wp_abtest_goal_hits ON wp_abtest_goal_hits.session_id=wp_abtest_variation_views.session_id13 INNER JOIN wp_abtest_goals ON wp_abtest_goals.id=wp_abtest_goal_hits.goal_id14 WHERE wp_abtest_variation_views.variation_id=wp_abtest_variations.id AND wp_abtest_goals.experiment_id=wp_abtest_variations.experiment_id AND wp_abtest_variation_views.ip NOT IN (SELECT ip FROM wp_abtest_ip_filters)9 (SELECT COUNT(DISTINCT session_id) FROM ".$wpdb->prefix."abtest_variation_views WHERE variation_id=".$wpdb->prefix."abtest_variations.id AND ip NOT IN (SELECT ip FROM ".$wpdb->prefix."abtest_ip_filters)) AS views, 10 (SELECT COUNT(DISTINCT ".$wpdb->prefix."abtest_variation_views.session_id) 11 FROM ".$wpdb->prefix."abtest_variation_views 12 INNER JOIN ".$wpdb->prefix."abtest_goal_hits ON ".$wpdb->prefix."abtest_goal_hits.session_id=".$wpdb->prefix."abtest_variation_views.session_id 13 INNER JOIN ".$wpdb->prefix."abtest_goals ON ".$wpdb->prefix."abtest_goals.id=".$wpdb->prefix."abtest_goal_hits.goal_id 14 WHERE ".$wpdb->prefix."abtest_variation_views.variation_id=".$wpdb->prefix."abtest_variations.id AND ".$wpdb->prefix."abtest_goals.experiment_id=".$wpdb->prefix."abtest_variations.experiment_id AND ".$wpdb->prefix."abtest_variation_views.ip NOT IN (SELECT ip FROM ".$wpdb->prefix."abtest_ip_filters) 15 15 ) AS goal_hits 16 FROM wp_abtest_variations16 FROM ".$wpdb->prefix."abtest_variations 17 17 WHERE experiment_id=%d 18 18 ORDER BY name 19 ', $id));19 ", $id)); 20 20 21 $variations = $wpdb->get_results($wpdb->prepare( 'SELECT * FROM wp_abtest_variations WHERE experiment_id=%d', $id));22 $goals = $wpdb->get_results($wpdb->prepare( 'SELECT * FROM wp_abtest_goals WHERE experiment_id=%d', $id));21 $variations = $wpdb->get_results($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_variations WHERE experiment_id=%d", $id)); 22 $goals = $wpdb->get_results($wpdb->prepare("SELECT * FROM ".$wpdb->prefix."abtest_goals WHERE experiment_id=%d", $id)); 23 23 ?> 24 24 <div class="wrap"> -
abtest/trunk/readme.txt
r490312 r490370 3 3 Donate link: http://lassebunk.dk/donate/ 4 4 Tags: ab testing, split testing, multivariate testing, themes, content, stylesheets, javascripts 5 Stable tag: 1.0. 25 Stable tag: 1.0.3 6 6 7 7 A/B split testing for WordPress made easy. … … 54 54 * Support for IP filters, e.g. to filter out visits and conversions from your home or office IPs. 55 55 56 = 1.0.3 = 57 * Support for database table prefixes (like <code>wp_</code>). 58 56 59 == Upgrade Notice == 57 60
Note: See TracChangeset
for help on using the changeset viewer.