function GetGrpListForMove($ParentId = false, $Level = false) { global $CompId, $Db; $GrpArr = array(); $SubArr = array(); $SubCnt = 0; if (!$ParentId) { $ParentId = 0; } if (!$Level) { $Level = 0; } $Query = "SELECT ID, NAME, PARENT_ID FROM " . PFX . "_tracker_campaign WHERE PARENT_ID={$ParentId} AND COMPANY_ID={$CompId} ORDER BY POSITION ASC"; $Sql = new Query($Query); while ($Row = $Sql->Row()) { $Row->LEVEL = $Level; $GrpArr[] = $Row; $SubCnt = $Db->ReturnValue("SELECT COUNT(*) FROM " . PFX . "_tracker_campaign WHERE PARENT_ID=" . $Row->ID); if ($SubCnt > 0) { $SubArr = GetGrpListForMove($Row->ID, $Level + 1); if (count($SubArr) > 0) { $GrpArr = array_merge($GrpArr, $SubArr); } } $SubCnt = 0; } return $GrpArr; }
$PageTitle = ValidId($SplitTest->ID) ? stripslashes($SplitTest->NAME) : $Lang['SplitTest']; $SitesArr = array(); $Query = "SELECT ID, HOST, USE_HOSTS FROM " . PFX . "_tracker_site WHERE COMPANY_ID={$CompId}"; $Sql = new Query($Query); while ($Row = $Sql->Row()) { $SitesArr[] = $Row; } $SelectNeeded = false; $ProgPath[0]['Name'] = $Lang['MSplits']; $ProgPath[0]['Url'] = getURL("split_list", "CpId={$CpId}", "admin"); if (ValidId($SplitTest->ID)) { $ProgPath[1]['Name'] = stripslashes($SplitTest->NAME); $ProgPath[1]['Url'] = $nsProduct->SelfAction("EditId={$EditId}"); } if (ValidId($SplitTest->CAMPAIGN_ID)) { $MoveArr = GetGrpListForMove(); } ///////////////////////////////////////////// ///////// call any process functions if (!$nsUser->DEMO) { if (ValidId($SplitTest->ID) && ValidId($MoveCampTo) && $MoveCampTo != $SplitTest->CAMPAIGN_ID) { MoveSubCamp($EditId, $MoveCampTo); } if (ValidId($EditId) && ValidArr($EditArr)) { UpdateSplitTest($EditId, $EditArr); } if (ValidVar($EditId) == "new" && ValidArr($EditArr)) { CreateNewSplit($EditArr); } if (ValidId($DeleteId)) { DeleteSplit($CpId, $DeleteId);