/** * @covers MarketMeSuite\Phranken\Database\Mongo\Util\MongoUtils::ConstructAndArray */ public function testConstructAndArray2() { $this->assertSame(MongoUtils::ConstructAndArray(), array('$and' => array())); $this->assertSame(MongoUtils::ConstructAndArray('blah', 1, null), array('$and' => array())); }
/** * component for description * * @author KM, HS * * @param sfWebRequest $request */ public function executeChart_column_mediapenetration_clickbacks(sfWebRequest $request) { $lDomainProfile = DomainProfileTable::getInstance()->find($this->pHostId); $this->pData = MongoUtils::getMediaPenetrationData($lDomainProfile->getUrl(), $this->pDateFrom, $this->pDateTo, $this->pAggregation); }
public function testGetAgeData() { $data = MongoUtils::getAgeData("www.missmotz.de", $this->from, $this->to, 'daily'); $this->assertEquals(0, $data['data'][0]['u_18']); $this->assertEquals(0, $data['data'][0]['b_18_24']); $this->assertEquals(0, $data['data'][0]['b_25_34']); $this->assertEquals(0, $data['data'][0]['b_35_54']); $this->assertEquals(1000, $data['data'][0]['o_55']); $this->assertEquals('www.missmotz.de', $data['filter']['domain']); $this->assertEquals($this->from, $data['filter']['fromDate']); $this->assertEquals($this->to, $data['filter']['toDate']); $this->assertEquals('daily', $data['filter']['aggregation']); }
/** * @param string $databaseName */ public static function dropAllCollections($mapper) { return MongoUtils::dropAllCollections($mapper); }
private static function getAdditionalStatistics($mongoData, $piData, $fromDate, $toDate) { $services = PseudoStatsModel::$services; $days = MongoUtils::getNumberOfDays($fromDate, $toDate); $res = MongoUtils::initStats($services); for ($i = 0; $i < count($mongoData); $i++) { foreach ($services as $service) { foreach (PseudoStatsModel::$activities as $key => $value) { $res['total'][$service][$key] += $mongoData[$i][$service][$key]; $res['total']['all'][$key] += $mongoData[$i][$service][$key]; } $res['total'][$service]['activities'] += $mongoData[$i][$service]['likes'] + $mongoData[$i][$service]['dislikes']; $res['total']['all']['activities'] += $mongoData[$i][$service]['likes'] + $mongoData[$i][$service]['dislikes']; } } foreach ($services as $service) { foreach (PseudoStatsModel::$activities as $key => $value) { $res['average'][$service][$key] = round($res['total'][$service][$key] / ($days == 0 ? 1 : $days), 2); } $res['ratio'][$service]['dislike_like'] = self::getPercentage($res['total'][$service]['likes'], $res['total'][$service]['dislikes']); $res['ratio'][$service]['clickback_activities'] = self::getPercentage($res['total'][$service]['activities'], $piData['services'][$service]['cb']); $res['ratio'][$service]['contacts_activities'] = self::getPercentage($res['total'][$service]['activities'], $res['total'][$service]['contacts']); $res['ratio'][$service]['like_percentage'] = self::getPercentage($res['total'][$service]['activities'], $res['total'][$service]['likes']); $res['ratio'][$service]['dislike_percentage'] = self::getPercentage($res['total'][$service]['activities'], $res['total'][$service]['dislikes']); } foreach (PseudoStatsModel::$activities as $key => $value) { $res['average']['all'][$key] = round($res['total']['all'][$key] / ($days == 0 ? 1 : $days), 2); } $res['ratio']['all']['dislike_like'] = self::getPercentage($res['total']['all']['likes'], $res['total']['all']['dislikes']); $res['ratio']['all']['clickback_activities'] = self::getPercentage($res['total']['all']['activities'], $piData['services']['all']['cb']); $res['ratio']['all']['contacts_activities'] = self::getPercentage($res['total']['all']['activities'], $res['total']['all']['contacts']); $res['ratio']['all']['like_percentage'] = self::getPercentage($res['total']['all']['activities'], $res['total']['all']['likes']); $res['ratio']['all']['dislike_percentage'] = self::getPercentage($res['total']['all']['activities'], $res['total']['all']['dislikes']); return $res; }
private function ValidateUserInput(UserSVC $userSVC) { //Verifying mandatory fields if (!Validator::validateNotEmpty($this->getRequestParam("username"))) { $this->addError("username_required"); } //Check email only for mFirst accounts if (intval(trim($this->getRequestParam("accountType"))) == 1) { if (!Validator::validateNotEmpty($this->getRequestParam("email"))) { $this->addError("email_required"); } } //Get Session User details $sessionUser = $this->getSessionParam("session_user"); $password = ""; if (intval(trim($this->getRequestParam("accountType"))) == 1) { //Password Change if (trim($this->getRequestParam("password")) != "") { if (md5($this->getRequestParam("password")) == $sessionUser->password) { if (!Validator::validateNotEmpty($this->getRequestParam("newPassword"))) { $this->addError("new_password_required"); } if (!Validator::validateNotEmpty($this->getRequestParam("confirmPassword"))) { $this->addError("confirm_password_required"); } if (trim($this->getRequestParam("newPassword")) == trim($this->getRequestParam("confirmPassword"))) { $password = md5(trim($this->getRequestParam("newPassword"))); } else { $this->addError("password_mismatch"); } } else { $this->addError("password_incorrect"); } } else { if (trim($this->getRequestParam("newPassword")) != "" || trim($this->getRequestParam("confirmPassword")) != "") { $this->addError("old_password_required"); } else { $password = $sessionUser->password; } } } //Prepare selected country array $addressCountryArray = array(); $selectedCountryId = $this->getRequestParam("addressCountry"); $countryResponse = MongoUtils::GetSelectedCountryDetails("id", $selectedCountryId); if (is_array($countryResponse) && count($countryResponse) > 0) { $addressCountryArray = array("id" => $countryResponse["id"]['$id'], "name" => $countryResponse["name"], "code" => $countryResponse["code"], "alias" => $countryResponse["alias"]); } /* Populate object */ $userSVC->email = trim($this->getRequestParam("email")); $userSVC->username = trim($this->getRequestParam("username")); $userSVC->password = $password; $userSVC->firstname = trim($this->getRequestParam("firstname")); $userSVC->lastname = trim($this->getRequestParam("lastname")); $userSVC->gender = trim($this->getRequestParam("gender")); $userSVC->yearOfBirth = trim($this->getRequestParam("yearOfBirth")); $userSVC->phone = trim($this->getRequestParam("phoneNo")); $userSVC->mobile = trim($this->getRequestParam("mobile")); $userSVC->addressLine1 = trim($this->getRequestParam("addressLine1")); $userSVC->addressLine2 = trim($this->getRequestParam("addressLine2")); $userSVC->addressCity = trim($this->getRequestParam("addressCity")); $userSVC->addressState = trim($this->getRequestParam("addressState")); $userSVC->addressCountry = $addressCountryArray; $userSVC->addressZipCode = trim($this->getRequestParam("addressZipCode")); $userSVC->interests = trim($this->getRequestParam("interests")); $userSVC->newsletters = $this->getRequestParam("newsletters") ? $this->getRequestParam("newsletters") : 0; //Check availability of the email entered $profileId = 0; $userId = $userSVC->id; $checkAvailability = json_decode($userSVC->CheckEmailAvailability($profileId, $userId), true); if ($checkAvailability["response"]["responseArray"]["mFirstAccountExists"] == 1) { $this->addError("email_duplicate"); } //Check if username already exists $checkAvailability = json_decode($userSVC->CheckUsernameAvailability($userSVC->id), true); if ($checkAvailability["response"]["responseArray"]["usernameExists"] == 1) { $this->addError("username_exists"); } if ($this->hasErrors()) { return false; } else { return true; } }