/**
  * @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()));
 }
Esempio n. 2
0
 /**
  * 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);
 }
Esempio n. 3
0
 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']);
 }
Esempio n. 4
0
 /**
  * @param string $databaseName
  */
 public static function dropAllCollections($mapper)
 {
     return MongoUtils::dropAllCollections($mapper);
 }
Esempio n. 5
0
 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;
     }
 }