コード例 #1
0
 public function getTemplates($vid)
 {
     $variants = $this->variant->get();
     $tempimg = new Template();
     $templates = $tempimg->getImages();
     $bladetemp = DB::table('bladetemps')->get();
     return View::make('variants.assign', compact('vid', 'variants', 'templates', 'bladetemp'));
 }
コード例 #2
0
ファイル: multivariants.php プロジェクト: sdrinf/cog
function child_render($param)
{
    global $g_page, $g_cfg;
    $g_page["frame"] = "site_admin/frame.html";
    if (!http_user_auth("admin", "admin")) {
        return redirect("/");
    }
    if (isset($param[1]) && $param[1] == "switch_status") {
        list($cname, $p) = [$_GET["name"], $_GET["p"]];
        if ($p == "close") {
            dbupdate("sys_variations", [], ["test" => $cname], ["completed" => "now()"]);
        }
        return redirect("/stats/multivariants");
    }
    $q = gettable("select * from sys_variations where completed is null");
    $t = [];
    foreach ($q as $row) {
        if (!isset($t[$row["test"]])) {
            $t[$row["test"]] = [];
        }
        if (!isset($t[$row["test"]][$row["variation"]])) {
            $t[$row["test"]][$row["variation"]] = ["goals" => []];
        }
        $t[$row["test"]][$row["variation"]]["content"] = substr($row["content"], 0, 256);
        $cm = new Variant($row["test"]);
        $t[$row["test"]][$row["variation"]]["enrolled"] = $cm->get() == $row["variation"] ? 1 : 0;
        $t[$row["test"]][$row["variation"]]["variation"] = $row["variation"];
        $cv = [];
        $cgoal = $row;
        $cgoal["pc"] = $row["sample"] == 0 ? "N/A" : round($row["conversion"] / $row["sample"] * 100, 2);
        $t[$row["test"]][$row["variation"]]["goals"][] = $cgoal;
        $t[$row["test"]][$row["variation"]] = update($t[$row["test"]][$row["variation"]], $cv);
    }
    $res = [];
    foreach ($t as $name => $row) {
        $cm = [];
        foreach ($t[$name] as $varname => $cvar) {
            uasort($cvar["goals"], function ($a, $b) {
                global $g_mv_goals;
                if (($i = array_search($a["goal"], $g_mv_goals)) === false) {
                    return -1;
                }
                if (($j = array_search($b["goal"], $g_mv_goals)) === false) {
                    return -1;
                }
                if ($i == $j) {
                    return 0;
                }
                return $i > $j ? 1 : -1;
            });
            $cm[] = $cvar;
        }
        $res[] = ["test" => $name, "var" => $cm];
    }
    // print_r($res); exit;
    $scr = new Scriptor("site_admin/multivariants.html", ["tests" => $res]);
    return $scr->result();
}
コード例 #3
0
ファイル: cog_variants.php プロジェクト: sdrinf/cog
    return variant_recalculate();
};
// ---------------------------------------------------------
// Scriptor extensions
// ---------------------------------------------------------
$g_scr_tests = [];
function ctrl_variant($scr, $param, $script, $vals)
{
    global $g_scr_tests;
    if (!isset($g_scr_tests[$param["name"]])) {
        $g_scr_tests[$param["name"]] = [];
    }
    if (!in_array($param["value"], $g_scr_tests[$param["name"]])) {
        $g_scr_tests[$param["name"]][] = $param["value"];
    }
    $cv = new Variant("scr:" . $param["name"], $g_scr_tests[$param["name"]]);
    if ($cv->get_content() == $param["value"]) {
        return $scr->ev($script, $vals);
    }
    return "";
}
// ---------------------------------------------------------
// Unit tests
// ---------------------------------------------------------
if (isset($_SERVER["argv"]) && isset($_SERVER["SCRIPT_FILENAME"]) && basename($_SERVER["SCRIPT_FILENAME"]) == basename(__FILE__)) {
    echo "Variants: Running self-tests...\n";
    assert(initsql());
    variants_start();
    $v = new Variant("test", ["v1" => "testv1", "v2" => "testv2", "v3" => "testv3"]);
    echo $v->get();
}