public function adjustHouseAdNetwork($add_ahid, $del_ahid) { $retVal = "doNothing"; fb("adjusthouseAdNet", "start"); $networks = $this->getNetworks(); if ($networks != null) { foreach ($networks as $type => $network) { if ($type == Network::NETWORK_TYPE_HOUSE) { $houseAdNet = $network; } } } $appHouseAds = AppHouseAdUtil::getAppHouseAdsByAid($this->id); $count = count($appHouseAds); if ($count == 0 && $add_ahid != null) { $count++; } else { if ($count == 1 && $appHouseAds['0']->id == $del_ahid) { $count--; } } fb("appHouseAds", $appHouseAds); fb($count, 'count'); fb(isset($houseAdNet), 'hasHouseAdNet'); if ($count > 0 && !isset($houseAdNet)) { // add houseAdNet fb("Should Add"); $network = new Network(); $network->id = SDB::uuid(); $network->aid = $this->id; $network->type = Network::NETWORK_TYPE_HOUSE; $network->adsOn = 0; $network->weight = 0; $network->priority = 99; $network->keys = array("_CUSTOMS_"); $network->put(); $retVal = "add"; } else { if ($count == 0 && isset($houseAdNet)) { // should remove or turn off $hasHouseAds = count(HouseAdUtil::getHouseAdsByUid($_SESSION['uid'])) > 0; if ($hasHouseAds) { fb("should turn off"); $houseAdNet->adsOn = 0; $houseAdNet->put(); $retVal = "turnOff"; } else { fb("Should Remove", $houseAdNet); $houseAdNet->delete(); unset($networks['9']); $retVal = "delete"; } App::setWeights($networks); App::setPriorities($networks); } } fb("adjustHouseAdNet", "end"); return $retVal; }
public function appNetworksSubmit() { $this->printHeader = false; $this->printFooter = false; $this->needsApp(); if ($this->user->id != $this->app->uid) { die; } $nids = isset($_POST['nid']) ? $_POST['nid'] : null; $priorities = isset($_POST['priority']) ? $_POST['priority'] : null; $weights = isset($_POST['weight']) ? $_POST['weight'] : null; $adsOn = isset($_POST['adsOn']) ? $_POST['adsOn'] : null; fb('nids', $nids); fb('priorities', $priorities); fb('adsOn', $adsOn); fb('weights', $weights); $off = array(); $on = array(); for ($i = 0; $i < count($nids); $i++) { $nid = $nids[$i]; if (!empty($nid)) { $network = new Network($nid); $network->postGet(); } else { continue; /* We don't need this, since we can only add change things once they have keys $network = new Network(); $nid = SDB::uuid(); $network->id = $nid; */ } $network->aid = $this->app->id; $network->weight = isset($weights[$i]) ? $weights[$i] : null; $network->adsOn = $adsOn[$i]; if ($adsOn[$i] == "1") { $network->priority = $priorities[$i]; $on[$network->priority * 1000 + $i] = $network; } else { $network->priority = Network::MAX_PRIORITY; $network->put(); } } ksort($on); fb("on", $on); $count = 0; foreach ($on as $network) { $network->priority = ++$count; $network->put(); } return "OK"; //return $this->appNetworks(); }