コード例 #1
0
 /**
  * generate Wildcard.. truncate if necessary, $pUrl is optional
  *
  * @param YiidActivity $pActivity
  * @return string
  */
 public function generateMessage($pActivity)
 {
     if ($pActivity->getDomainProfile() && $pActivity->getDomainProfile()->getFlattrAccount()) {
         $auto_submit = "http://flattr.com/submit/auto?url=" . urlencode($pActivity->getUrl()) . "&user_id=" . $pActivity->getDomainProfile()->getFlattrAccount();
         $json = json_encode(array("url" => $auto_submit));
         return $json;
     }
     return;
 }
コード例 #2
0
 /**
  * generate Wildcard.. truncate if necessary, $pUrl is optional
  *
  * @param YiidActivity $pActivity
  * @return string
  */
 protected function generateMessage($pActivity)
 {
     // load activity or deal to fill the dummy object
     if ($pActivity->isDeal()) {
         $i18n = sfContext::getInstance()->getI18N();
         $lActionText = $i18n->__("Get the Deal");
         $lObject = $pActivity->getDeal();
     } else {
         $lActionText = "Teilen";
         $lObject = $pActivity;
     }
     $lPostBody = "message=" . urlencode($pActivity->getComment());
     if ($lObject->getDescr() && $lObject->getDescr() != '') {
         $lPostBody .= "&description=" . urlencode($lObject->getDescr());
     }
     if ($lObject->getTitle() && $lObject->getTitle() != '') {
         $lPostBody .= "&name=" . urlencode($lObject->getTitle());
     }
     if ($lObject->getThumb() && $lObject->getThumb() != '') {
         $lPostBody .= "&picture=" . urlencode($lObject->getThumb());
     }
     $lPostBody .= "&link=" . urlencode($pActivity->generateUrlWithClickbackParam($this->onlineIdentity));
     $lPostBody .= '&privacy={"value": "EVERYONE"}';
     $lLink = sfConfig::get("app_settings_widgets_url") . '/?url=' . urlencode($pActivity->getUrl());
     if ($pActivity->getTags()) {
         $lLink .= '&tags=' . implode(",", $pActivity->getTags());
     }
     // add clickback param
     $lLink .= '&clickback=facebook.' . $pActivity->getId();
     $lActions = array("name" => $lActionText, "link" => urlencode($lLink));
     $lPostBody .= '&actions=' . json_encode($lActions);
     return $lPostBody;
 }
コード例 #3
0
 /**
  * generate Wildcard.. truncate if necessary, $pUrl is optional
  *
  * @param YiidActivity $pActivity
  * @return string
  */
 protected function generateMessage($pActivity)
 {
     $lPostBody = "message=" . urlencode($pActivity->getDescr());
     $lPostBody .= "&name=" . urlencode($lObject->getTitle());
     if ($lObject->getThumb() && $lObject->getThumb() != '') {
         $lPostBody .= "&photo=" . urlencode($lObject->getThumb());
     }
     $lPostBody .= "&url=" . urlencode($pActivity->getUrl());
     if ($pActivity->getTags()) {
         $lPostBody .= '&tags=' . implode(",", $pActivity->getTags());
     }
     return $lPostBody;
 }
コード例 #4
0
 /**
  * generate Wildcard.. truncate if necessary, $pUrl is optional
  *
  * @param YiidActivity $pActivity
  * @return string
  */
 public function generateMessage($pActivity)
 {
     $lUrl = $pActivity->generateUrlWithClickbackParam($this->onlineIdentity);
     $lComment = $pActivity->getComment();
     $lStatusMessage = '<?xml version="1.0" encoding="UTF-8"?><share>';
     $lStatusMessage .= "<comment><![CDATA[" . substr($lComment, 0, 700) . "]]></comment>";
     $lStatusMessage .= '<content>';
     $lStatusMessage .= "<submitted-url><![CDATA[{$lUrl}]]></submitted-url>";
     if ($pActivity->getTitle()) {
         $lStatusMessage .= "<title><![CDATA[" . substr($pActivity->getTitle(), 0, 200) . "]]></title>";
     }
     if ($pActivity->getDescr()) {
         $lStatusMessage .= "<description><![CDATA[" . substr($pActivity->getDescr(), 0, 256) . "]]></description>";
     }
     if ($pActivity->getThumb()) {
         $lStatusMessage .= "<submitted-image-url><![CDATA[" . $pActivity->getThumb() . "]]></submitted-image-url>";
     }
     $lStatusMessage .= '</content>';
     $lStatusMessage .= '<visibility><code>anyone</code></visibility></share>';
     return $lStatusMessage;
 }
コード例 #5
0
 /**
  * generate Wildcard.. truncate if necessary, $pUrl is optional
  *
  * @param YiidActivity $pActivity
  * @return string
  */
 public function generateMessage($pActivity)
 {
     sfProjectConfiguration::getActive()->loadHelpers('Text');
     $lUrl = ShortUrlTable::shortenUrl($pActivity->generateUrlWithClickbackParam($this->onlineIdentity));
     $lMaxChars = 135;
     $lText = $lUrl;
     $lLengthOfText = strlen($lText);
     if ($pActivity->getComment()) {
         $lChars = $lMaxChars - $lLengthOfText;
         $lText = truncate_text($pActivity->getComment(), $lChars, '...') . " " . $lText;
     } elseif ($pActivity->getTitle()) {
         $lChars = $lMaxChars - $lLengthOfText;
         $lText = truncate_text($pActivity->getTitle(), $lChars, '...') . " " . $lText;
     }
     return array("status" => $lText);
 }
コード例 #6
0
ファイル: Stats2Feeder.php プロジェクト: 42medien/spreadly
 /**
  * save aggregated stat-informations
  *
  * @param YiidActivity $pYiidActivity
  * @param User $pUser
  * @author Matthias Pfefferle
  */
 public static function createChartData($pYiidActivity)
 {
     $lHost = parse_url($pYiidActivity->getUrl(), PHP_URL_HOST);
     $lDoc = array('url' => $pYiidActivity->getUrl(), 'date' => new MongoDate(strtotime(date("Y-m-d", $pYiidActivity->getC()))));
     $pUser = $pYiidActivity->getUser();
     $lOptions = array();
     // set gender
     switch ($pUser->getGender()) {
         case "m":
             $lOptions["d.sex.m"] = 1;
             break;
         case "f":
             $lOptions["d.sex.f"] = 1;
             break;
         default:
             $lOptions["d.sex.u"] = 1;
             break;
     }
     // set relationship
     switch ($pUser->getRelationshipState()) {
         case IdentityHelper::USER_RELATIONSHIP_STATUS_COMPLICATED:
             $lOptions["d.rel.compl"] = 1;
             break;
         case IdentityHelper::USER_RELATIONSHIP_STATUS_ENGAGED:
             $lOptions["d.rel.eng"] = 1;
             break;
         case IdentityHelper::USER_RELATIONSHIP_STATUS_IN_OPEN_RELATIONSHIP:
             $lOptions["d.rel.ior"] = 1;
             break;
         case IdentityHelper::USER_RELATIONSHIP_STATUS_IN_RELATIONSHIP:
             $lOptions["d.rel.rel"] = 1;
             break;
         case IdentityHelper::USER_RELATIONSHIP_STATUS_MARRIED:
             $lOptions["d.rel.mar"] = 1;
             break;
         case IdentityHelper::USER_RELATIONSHIP_STATUS_SINGLE:
             $lOptions["d.rel.singl"] = 1;
             break;
         case IdentityHelper::USER_RELATIONSHIP_STATUS_WIDOWED:
             $lOptions["d.rel.wid"] = 1;
             break;
         default:
             $lOptions["d.rel.u"] = 1;
             break;
     }
     // set age
     $a = $pUser->getAge();
     if ($a < 18) {
         $lOptions["d.age.u_18"] = 1;
     } elseif ($a >= 18 && $a <= 24) {
         $lOptions["d.age.b_18_24"] = 1;
     } elseif ($a >= 25 && $a <= 34) {
         $lOptions["d.age.b_25_34"] = 1;
     } elseif ($a >= 35 && $a <= 54) {
         $lOptions["d.age.b_35_54"] = 1;
     } elseif ($a >= 55) {
         $lOptions["d.age.o_55"] = 1;
     } else {
         $lOptions["d.age.u"] = 1;
     }
     // set tags
     if ($lTags = $pYiidActivity->getTags()) {
         // add each tag with counts
         foreach ($lTags as $lTag) {
             $lOptions["t." . $lTag . ".cnt"] = 1;
             // set score
             if ($pYiidActivity->getScore() > 0) {
                 $lOptions["t." . $lTag . ".pos"] = 1;
             } else {
                 $lOptions["t." . $lTag . ".neg"] = 1;
             }
             // clickbacks
             if ($pYiidActivity->isClickback()) {
                 $lOptions["s." . $lTag . ".cb"] = 1;
             }
         }
     }
     $lUpdate = false;
     // add online identities
     foreach ($pYiidActivity->getOiids() as $lId) {
         $lOi = OnlineIdentityTable::getInstance()->retrieveByPk($lId);
         if ($lOi) {
             $lUpdate = true;
             if ($pYiidActivity->getScore() > 0) {
                 $lOptions["s." . $lOi->getCommunity()->getCommunity() . ".pos"] = 1;
             } else {
                 $lOptions["s." . $lOi->getCommunity()->getCommunity() . ".neg"] = 1;
             }
             $lOptions["s." . $lOi->getCommunity()->getCommunity() . ".cnt"] = intval($lOi->getFriendCount());
             // clickbacks
             if ($pYiidActivity->isClickback()) {
                 $lOptions["s." . $pYiidActivity->getCbService() . ".cb"] = 1;
             }
         }
     }
     if ($lUpdate) {
         // check if activity is a deal
         if ($lDealId = $pYiidActivity->getDId()) {
             // add deal id
             $lChart = 'deals';
             $lDoc['d_id'] = intval($lDealId);
         } else {
             $lChart = 'charts';
         }
         // mongo collection
         $lCollection = self::getMongoCollection(str_replace('.', '_', $lHost) . ".analytics." . $lChart);
         // update analytics
         $lCollection->update($lDoc, array('$inc' => $lOptions), array("upsert" => true));
     }
 }