Example #1
0
 public function executeInitiator_stats(sfWebRequest $request)
 {
     $lDeal = DealTable::getInstance()->find($request->getParameter('deal_id'));
     //var_dump($lDeal->getId());
     $dm = MongoManager::getStatsDM();
     $this->aas = $dm->getRepository('Documents\\AnalyticsActivity')->findBy(array("d_id" => intval($lDeal->getId())));
 }
Example #2
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $analytics_activity = MongoManager::getStatsDM()->getRepository('Documents\\AnalyticsActivity');
     $this->activities = $analytics_activity->findBy(array("user_id" => intval($this->getUser()->getUserId())))->limit(30)->sort(array("cb" => "DESC"));
     $this->likes_complete = $analytics_activity->findBy(array("user_id" => intval($this->getUser()->getUserId())))->count();
     $this->clickbacks_complete = $analytics_activity->getOverallClickbacks($this->getUser()->getUserId());
     $q = Doctrine_Query::create();
     $q->addWhere("tg.taggable_id = ?", array($this->getUser()->getUserId()));
     $this->tags = PluginTagTable::getAllTagNameWithCount($q, array("model" => "User", "limit" => 100));
 }
Example #3
0
 public function executeUser($request)
 {
     $id = $request->getParameter("id");
     $user = sfGuardUserTable::getInstance()->retrieveByUsernameOrEmailAddress($id);
     $this->forward404Unless($user);
     $hosts = array();
     foreach ($user->getDomainProfiles() as $domain_profile) {
         $hosts[] = $domain_profile->getUrl();
     }
     $lDm = MongoManager::getStatsDM();
     $this->activities = $lDm->createQueryBuilder("Documents\\AnalyticsActivity")->field("host")->in($hosts)->sort(array("date" => -1))->limit(10)->getQuery()->execute();
     $this->user = $user;
     $this->setLayout("atom_layout");
 }
Example #4
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeHost(sfWebRequest $request)
 {
     $social_object = MongoManager::getDM()->getRepository('Documents\\SocialObject');
     $this->forward404Unless($request->getParameter("id"));
     $so = $social_object->find(new MongoId($request->getParameter("id")));
     $this->forward404Unless($so);
     $this->social_object = $so;
     $this->social_objects = $social_object->findBy(array("url" => array('$regex' => parse_url($so->getUrl(), PHP_URL_HOST))))->limit(10)->sort(array("u" => -1));
     $this->first_share = MongoManager::getStatsDM()->getRepository('Documents\\AnalyticsActivity')->findBy(array("host" => parse_url($so->getUrl(), PHP_URL_HOST)))->sort(array("date" => 1))->limit(1)->getNext();
     $this->last_share = MongoManager::getStatsDM()->getRepository('Documents\\AnalyticsActivity')->findBy(array("host" => parse_url($so->getUrl(), PHP_URL_HOST)))->sort(array("date" => -1))->limit(1)->getNext();
     $us = MongoManager::getStatsDM()->getRepository('Documents\\UrlSummary');
     $this->url_summarys = $us->findBy(array("host" => parse_url($so->getUrl(), PHP_URL_HOST)))->limit(10)->sort(array("mp" => -1));
     $hs = MongoManager::getStatsDM()->getRepository('Documents\\HostSummary');
     $this->host_summary = $hs->findOneBy(array("host" => parse_url($so->getUrl(), PHP_URL_HOST)));
 }
Example #5
0
 /**
  * 
  *
  * 
  */
 public function executeWidget(sfWebRequest $request)
 {
     //
     $url = $request->getParameter("url");
     $this->url = $url;
     // extract host
     $host = parse_url($url, PHP_URL_HOST);
     // get most liked urls of the last 30 days
     /*url_repo = MongoManager::getStatsDM()->getRepository('Documents\ActivityUrlStats');
       $this->last30 = $url_repo->findLast30OrderedAndLimited(array($host), 5);
       if($this->last30) {
         $this->last30 = $this->last30->toArray();
       }*/
     $this->urls = MongoManager::getStatsDM()->getRepository('Documents\\AnalyticsActivity')->findLatestByHost($host, 6);
     // get latest users that liked one of the urls
     $this->activities = MongoManager::getStatsDM()->getRepository('Documents\\AnalyticsActivity')->findLatestByHost($host, 9);
     // disable layout
     $this->setLayout(false);
 }
Example #6
0
 public function executeGet_url_detail_by_range(sfWebRequest $request)
 {
     $this->getResponse()->setContentType('application/json');
     $from = $request->getParameter("date-from");
     $to = $request->getParameter("date-to");
     $lDm = MongoManager::getStatsDM();
     $lUrlSummary = $lDm->getRepository("Documents\\ActivityUrlStats")->findByUrlsAndRange(array($this->pUrl), $from, $to);
     if ($lUrlSummary) {
         $lUrlSummary = $lUrlSummary->toArray();
         if (count($lUrlSummary) > 1) {
             $lUrlSummary = $lUrlSummary[0];
         }
     }
     $lUrls = $lDm->getRepository("Documents\\AnalyticsActivity")->findBy(array("url" => $this->pUrl, "day" => array('$gte' => new MongoDate(strtotime($from)), '$lte' => new MongoDate(strtotime($to)))));
     $lUrlsRange = $lDm->getRepository("Documents\\ActivityUrlStats")->findBy(array("url" => $this->pUrl, "day" => array('$gte' => new MongoDate(strtotime($from)), '$lte' => new MongoDate(strtotime($to)))));
     $lUrlsRange = $lUrlsRange->toArray();
     $lLikesRange = array_values($this->padLikes($lUrlsRange, $from, $to));
     $lReturn['content'] = $this->getPartial('analytics/url_detail_content_by_range', array('pUrl' => $this->pUrl, 'pUrls' => $lUrls, 'pUrlSummary' => $lUrlSummary, 'pDomainProfile' => $this->pDomainProfile, 'showdate' => $from . '-' . $to, 'pLikes' => $lLikesRange, 'pStartDay' => $from, 'showdate' => format_date(strtotime($from)) . ' to ' . format_date(strtotime($to))));
     return $this->renderText(json_encode($lReturn));
 }
Example #7
0
 public function getRank()
 {
     return \MongoManager::getStatsDM()->getRepository("Documents\\UserRank")->getCurrent($this->getId());
 }
Example #8
0
 private function getUrlAnalytics($deal)
 {
     $lDm = MongoManager::getStatsDM();
     return $lDm->getRepository("Documents\\AnalyticsActivity")->findBy(array("d_id" => intval($deal->getId())));
 }
Example #9
0
 private static function createUpsertForHost($pAnalyticsActivity, $pDocumentString)
 {
     $dm = MongoManager::getStatsDM();
     $lQuery = $dm->createQueryBuilder($pDocumentString)->findAndUpdate()->upsert()->field('host')->equals($pAnalyticsActivity->getHost());
     return $lQuery;
 }
Example #10
0
 public function getAnalyticsActivity()
 {
     $dm = \MongoManager::getStatsDM();
     return $dm->getRepository("Documents\\AnalyticsActivity")->findOneBy(array("ya_id" => $this->getId()));
 }
Example #11
0
 public function getDealSummary()
 {
     $dm = MongoManager::getStatsDM();
     $stats = $dm->getRepository("Documents\\DealSummary")->findOneBy(array("d_id" => intval($this->getId())));
     return $stats;
 }
Example #12
0
<?php

require_once dirname(__FILE__) . '/../../config/ProjectConfiguration.class.php';
$configuration = ProjectConfiguration::getApplicationConfiguration('statistics', 'prod', false);
sfContext::createInstance($configuration);
$logger = sfContext::getInstance()->getLogger();
$dm = MongoManager::getStatsDM();
$repos = array('Documents\\AnalyticsActivity', 'Documents\\ActivityStats', 'Documents\\ActivityUrlStats', 'Documents\\DealStats', 'Documents\\DealUrlStats', 'Documents\\DealSummary', 'Documents\\DealUrlSummary', 'Documents\\HostSummary', 'Documents\\UrlSummary');
$repo = $repos[0];
$services = array('Facebook', 'Twitter', 'Google', 'LinkedIn', 'Linkedin');
echo "Fixing Repository: {$repo} …\n";
$muh = $dm->createQueryBuilder($repo)->where("function() { return this.s.Facebook != undefined || this.s.Twitter != undefined || this.s.Google != undefined || this.s.LinkedIn != undefined || this.s.Linkedin != undefined; }")->limit(100)->getQuery()->execute();
if (!$muh->hasNext()) {
    echo "PFEFFI_SAYS_ITS_DONE";
}
echo "===============================\n";
$i = 0;
foreach ($muh as $el) {
    $s = $el->getServices();
    foreach ($services as $service) {
        if (array_key_exists($service, $s)) {
            foreach ($s[$service] as $key => $value) {
                $low = strtolower($service);
                $s[$low][$key] = array_key_exists($low, $s) && array_key_exists($key, $s[$low]) ? $s[$low][$key] + $value : $value;
            }
            unset($s[$service]);
        }
    }
    $el->setServices($s);
    $dm->persist($el);
    $dm->flush();