Plugin Directory

Changeset 490370


Ignore:
Timestamp:
01/15/2012 08:33:09 PM (14 years ago)
Author:
lassebunk
Message:

support table prefixes

Location:
abtest/trunk
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • abtest/trunk/abtest.php

    r490307 r490370  
    2424  global $wpdb;
    2525
    26   $experiments = $wpdb->get_results("SELECT * FROM wp_abtest_experiments");
     26  $experiments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."abtest_experiments");
    2727 
    2828  foreach ($experiments as $exp) {
    2929    if (!isset($_SESSION['abtest_experiment_'.$exp->id.'_variation']) || $_SESSION['abtest_debug']) {
    3030      // 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) );
    3232
    3333      // Set session
     
    6969  if (!$_SESSION['abtest_debug']) {
    7070    // 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'] ) );
    7676  }
    7777}
     
    8181 
    8282  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'] ) );
    8686  }
    8787}
     
    101101function abtest_experiments_script() {
    102102  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'");
    104104
    105105  if (count($experiments) > 0) {
     
    120120function abtest_experiments_stylesheet() {
    121121  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'");
    123123 
    124124  if (count($experiments) > 0) {
     
    191191function change_theme($theme) {
    192192  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'");
    194194 
    195195  if ($exp) {
  • abtest/trunk/admin/add_goal.php

    r490307 r490370  
    44  // Insert the goal
    55  $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));
    77 
    88  redirect_to('?page=abtest&action=show_experiment&id=' . $experiment_id);
  • abtest/trunk/admin/add_ip_filter.php

    r490307 r490370  
    44  $ip = stripslashes($_POST['ip']);
    55  $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));
    77 
    88  redirect_to('?page=abtest&action=list_ip_filters');
  • abtest/trunk/admin/add_variation.php

    r490307 r490370  
    55  $name = stripslashes($_POST['name']);
    66  $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));
    88 
    99  redirect_to('?page=abtest&action=show_experiment&id=' . $experiment_id);
     
    1414}
    1515
    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));
    1717$themes = get_themes();
    1818?>
  • abtest/trunk/admin/create_experiment.php

    r490307 r490370  
    55  $type = stripslashes($_POST['type']);
    66 
    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));
    88  $id = $wpdb->insert_id;
    99 
    1010  // 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'));
    1313 
    1414  // 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'));
    1616 
    1717  redirect_to('?page=abtest&action=show_experiment&id=' . $id);
  • abtest/trunk/admin/delete_experiment.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    66  // 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));
    99 
    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));
    1212 
    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));
    1414
    1515  redirect_to('?page=abtest');
  • abtest/trunk/admin/delete_goal.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    66  // 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));
    99 
    1010  redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id);
  • abtest/trunk/admin/delete_ip_filter.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    66  // 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));
    88 
    99  redirect_to('?page=abtest&action=list_ip_filters');
  • abtest/trunk/admin/delete_variation.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    66  // 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));
    99 
    1010  redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id);
  • abtest/trunk/admin/edit_experiment.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     
    77  $name = stripslashes($_POST['name']);
    88 
    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));
    1010 
    1111  redirect_to('?page=abtest&action=show_experiment&id=' . $id);
  • abtest/trunk/admin/edit_goal.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     
    77  $name = stripslashes($_POST['name']);
    88 
    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));
    1010 
    1111  redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id);
  • abtest/trunk/admin/edit_ip_filter.php

    r490307 r490370  
    11<?php
    22$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));
    44
    55if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     
    88  $description = stripslashes($_POST['description']);
    99 
    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));
    1111 
    1212  redirect_to('?page=abtest&action=list_ip_filters');
  • abtest/trunk/admin/edit_variation.php

    r490307 r490370  
    11<?php
    22$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));
    55
    66if ($_SERVER['REQUEST_METHOD'] == 'POST') {
     
    99  $content = stripslashes($_POST['content']);
    1010 
    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));
    1212 
    1313  redirect_to('?page=abtest&action=show_experiment&id=' . $var->experiment_id);
  • abtest/trunk/admin/get_tracking_code.php

    r490307 r490370  
    11<?php
    22$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));
    44?>
    55<div class="wrap">
  • abtest/trunk/admin/list_experiments.php

    r490307 r490370  
    11<?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");
    33?>
    44
  • abtest/trunk/admin/list_ip_filters.php

    r490307 r490370  
    11<?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");
    33?>
    44<div class="wrap">
  • abtest/trunk/admin/show_experiment.php

    r490307 r490370  
    33
    44$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));
    66
    7 $variation_stats = $wpdb->get_results($wpdb->prepare('
     7$variation_stats = $wpdb->get_results($wpdb->prepare("
    88  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_views
    12    INNER JOIN wp_abtest_goal_hits ON wp_abtest_goal_hits.session_id=wp_abtest_variation_views.session_id
    13    INNER JOIN wp_abtest_goals ON wp_abtest_goals.id=wp_abtest_goal_hits.goal_id
    14    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)
    1515  ) AS goal_hits
    16   FROM wp_abtest_variations
     16  FROM ".$wpdb->prefix."abtest_variations
    1717  WHERE experiment_id=%d
    1818  ORDER BY name
    19 ', $id));
     19", $id));
    2020
    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));
    2323?>
    2424<div class="wrap">
  • abtest/trunk/readme.txt

    r490312 r490370  
    33Donate link: http://lassebunk.dk/donate/
    44Tags: ab testing, split testing, multivariate testing, themes, content, stylesheets, javascripts
    5 Stable tag: 1.0.2
     5Stable tag: 1.0.3
    66
    77A/B split testing for WordPress made easy.
     
    5454* Support for IP filters, e.g. to filter out visits and conversions from your home or office IPs.
    5555
     56= 1.0.3 =
     57* Support for database table prefixes (like <code>wp_</code>).
     58
    5659== Upgrade Notice ==
    5760
Note: See TracChangeset for help on using the changeset viewer.